@opentabs-dev/opentabs-plugin-linear 0.0.82 → 0.0.84

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 (163) hide show
  1. package/dist/adapter.iife.js +1766 -77
  2. package/dist/adapter.iife.js.map +4 -4
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +92 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/tools/add-issue-label.d.ts +28 -0
  7. package/dist/tools/add-issue-label.d.ts.map +1 -0
  8. package/dist/tools/add-issue-label.js +56 -0
  9. package/dist/tools/add-issue-label.js.map +1 -0
  10. package/dist/tools/add-issue-subscriber.d.ts +8 -0
  11. package/dist/tools/add-issue-subscriber.d.ts.map +1 -0
  12. package/dist/tools/add-issue-subscriber.js +29 -0
  13. package/dist/tools/add-issue-subscriber.js.map +1 -0
  14. package/dist/tools/batch-update-issues.d.ts +35 -0
  15. package/dist/tools/batch-update-issues.d.ts.map +1 -0
  16. package/dist/tools/batch-update-issues.js +86 -0
  17. package/dist/tools/batch-update-issues.js.map +1 -0
  18. package/dist/tools/create-attachment.d.ts +19 -0
  19. package/dist/tools/create-attachment.d.ts.map +1 -0
  20. package/dist/tools/create-attachment.js +45 -0
  21. package/dist/tools/create-attachment.js.map +1 -0
  22. package/dist/tools/create-document.d.ts +21 -0
  23. package/dist/tools/create-document.d.ts.map +1 -0
  24. package/dist/tools/create-document.js +46 -0
  25. package/dist/tools/create-document.js.map +1 -0
  26. package/dist/tools/create-initiative.d.ts +26 -0
  27. package/dist/tools/create-initiative.d.ts.map +1 -0
  28. package/dist/tools/create-initiative.js +50 -0
  29. package/dist/tools/create-initiative.js.map +1 -0
  30. package/dist/tools/create-issue-relation.d.ts +18 -0
  31. package/dist/tools/create-issue-relation.d.ts.map +1 -0
  32. package/dist/tools/create-issue-relation.js +53 -0
  33. package/dist/tools/create-issue-relation.js.map +1 -0
  34. package/dist/tools/create-milestone.d.ts +16 -0
  35. package/dist/tools/create-milestone.d.ts.map +1 -0
  36. package/dist/tools/create-milestone.js +45 -0
  37. package/dist/tools/create-milestone.js.map +1 -0
  38. package/dist/tools/create-project-update.d.ts +20 -0
  39. package/dist/tools/create-project-update.d.ts.map +1 -0
  40. package/dist/tools/create-project-update.js +37 -0
  41. package/dist/tools/create-project-update.js.map +1 -0
  42. package/dist/tools/delete-attachment.d.ts +7 -0
  43. package/dist/tools/delete-attachment.d.ts.map +1 -0
  44. package/dist/tools/delete-attachment.js +28 -0
  45. package/dist/tools/delete-attachment.js.map +1 -0
  46. package/dist/tools/delete-comment.d.ts +7 -0
  47. package/dist/tools/delete-comment.d.ts.map +1 -0
  48. package/dist/tools/delete-comment.js +28 -0
  49. package/dist/tools/delete-comment.js.map +1 -0
  50. package/dist/tools/delete-issue-relation.d.ts +7 -0
  51. package/dist/tools/delete-issue-relation.d.ts.map +1 -0
  52. package/dist/tools/delete-issue-relation.js +28 -0
  53. package/dist/tools/delete-issue-relation.js.map +1 -0
  54. package/dist/tools/delete-label.d.ts +7 -0
  55. package/dist/tools/delete-label.d.ts.map +1 -0
  56. package/dist/tools/delete-label.js +28 -0
  57. package/dist/tools/delete-label.js.map +1 -0
  58. package/dist/tools/delete-project-update.d.ts +7 -0
  59. package/dist/tools/delete-project-update.d.ts.map +1 -0
  60. package/dist/tools/delete-project-update.js +28 -0
  61. package/dist/tools/delete-project-update.js.map +1 -0
  62. package/dist/tools/get-attachment.d.ts +16 -0
  63. package/dist/tools/get-attachment.d.ts.map +1 -0
  64. package/dist/tools/get-attachment.js +30 -0
  65. package/dist/tools/get-attachment.js.map +1 -0
  66. package/dist/tools/get-cycle.d.ts +15 -0
  67. package/dist/tools/get-cycle.d.ts.map +1 -0
  68. package/dist/tools/get-cycle.js +29 -0
  69. package/dist/tools/get-cycle.js.map +1 -0
  70. package/dist/tools/get-document.d.ts +18 -0
  71. package/dist/tools/get-document.d.ts.map +1 -0
  72. package/dist/tools/get-document.js +31 -0
  73. package/dist/tools/get-document.js.map +1 -0
  74. package/dist/tools/get-initiative.d.ts +30 -0
  75. package/dist/tools/get-initiative.d.ts.map +1 -0
  76. package/dist/tools/get-initiative.js +42 -0
  77. package/dist/tools/get-initiative.js.map +1 -0
  78. package/dist/tools/get-milestone.d.ts +13 -0
  79. package/dist/tools/get-milestone.d.ts.map +1 -0
  80. package/dist/tools/get-milestone.js +29 -0
  81. package/dist/tools/get-milestone.js.map +1 -0
  82. package/dist/tools/get-team.d.ts +12 -0
  83. package/dist/tools/get-team.d.ts.map +1 -0
  84. package/dist/tools/get-team.js +29 -0
  85. package/dist/tools/get-team.js.map +1 -0
  86. package/dist/tools/get-user.d.ts +14 -0
  87. package/dist/tools/get-user.d.ts.map +1 -0
  88. package/dist/tools/get-user.js +29 -0
  89. package/dist/tools/get-user.js.map +1 -0
  90. package/dist/tools/list-attachments.d.ts +22 -0
  91. package/dist/tools/list-attachments.d.ts.map +1 -0
  92. package/dist/tools/list-attachments.js +46 -0
  93. package/dist/tools/list-attachments.js.map +1 -0
  94. package/dist/tools/list-documents.d.ts +24 -0
  95. package/dist/tools/list-documents.d.ts.map +1 -0
  96. package/dist/tools/list-documents.js +49 -0
  97. package/dist/tools/list-documents.js.map +1 -0
  98. package/dist/tools/list-initiatives.d.ts +28 -0
  99. package/dist/tools/list-initiatives.d.ts.map +1 -0
  100. package/dist/tools/list-initiatives.js +48 -0
  101. package/dist/tools/list-initiatives.js.map +1 -0
  102. package/dist/tools/list-issue-history.d.ts +23 -0
  103. package/dist/tools/list-issue-history.d.ts.map +1 -0
  104. package/dist/tools/list-issue-history.js +52 -0
  105. package/dist/tools/list-issue-history.js.map +1 -0
  106. package/dist/tools/list-milestones.d.ts +13 -0
  107. package/dist/tools/list-milestones.d.ts.map +1 -0
  108. package/dist/tools/list-milestones.js +35 -0
  109. package/dist/tools/list-milestones.js.map +1 -0
  110. package/dist/tools/list-project-labels.d.ts +14 -0
  111. package/dist/tools/list-project-labels.d.ts.map +1 -0
  112. package/dist/tools/list-project-labels.js +36 -0
  113. package/dist/tools/list-project-labels.js.map +1 -0
  114. package/dist/tools/list-project-updates.d.ts +20 -0
  115. package/dist/tools/list-project-updates.d.ts.map +1 -0
  116. package/dist/tools/list-project-updates.js +46 -0
  117. package/dist/tools/list-project-updates.js.map +1 -0
  118. package/dist/tools/list-sub-issues.d.ts +33 -0
  119. package/dist/tools/list-sub-issues.d.ts.map +1 -0
  120. package/dist/tools/list-sub-issues.js +53 -0
  121. package/dist/tools/list-sub-issues.js.map +1 -0
  122. package/dist/tools/list-team-members.d.ts +20 -0
  123. package/dist/tools/list-team-members.d.ts.map +1 -0
  124. package/dist/tools/list-team-members.js +45 -0
  125. package/dist/tools/list-team-members.js.map +1 -0
  126. package/dist/tools/move-issue-to-project.d.ts +28 -0
  127. package/dist/tools/move-issue-to-project.d.ts.map +1 -0
  128. package/dist/tools/move-issue-to-project.js +43 -0
  129. package/dist/tools/move-issue-to-project.js.map +1 -0
  130. package/dist/tools/remove-issue-label.d.ts +28 -0
  131. package/dist/tools/remove-issue-label.d.ts.map +1 -0
  132. package/dist/tools/remove-issue-label.js +56 -0
  133. package/dist/tools/remove-issue-label.js.map +1 -0
  134. package/dist/tools/remove-issue-subscriber.d.ts +8 -0
  135. package/dist/tools/remove-issue-subscriber.d.ts.map +1 -0
  136. package/dist/tools/remove-issue-subscriber.js +29 -0
  137. package/dist/tools/remove-issue-subscriber.js.map +1 -0
  138. package/dist/tools/schemas.d.ts +207 -0
  139. package/dist/tools/schemas.d.ts.map +1 -1
  140. package/dist/tools/schemas.js +120 -0
  141. package/dist/tools/schemas.js.map +1 -1
  142. package/dist/tools/set-issue-cycle.d.ts +28 -0
  143. package/dist/tools/set-issue-cycle.d.ts.map +1 -0
  144. package/dist/tools/set-issue-cycle.js +43 -0
  145. package/dist/tools/set-issue-cycle.js.map +1 -0
  146. package/dist/tools/update-document.d.ts +22 -0
  147. package/dist/tools/update-document.d.ts.map +1 -0
  148. package/dist/tools/update-document.js +47 -0
  149. package/dist/tools/update-document.js.map +1 -0
  150. package/dist/tools/update-initiative.d.ts +27 -0
  151. package/dist/tools/update-initiative.d.ts.map +1 -0
  152. package/dist/tools/update-initiative.js +51 -0
  153. package/dist/tools/update-initiative.js.map +1 -0
  154. package/dist/tools/update-label.d.ts +17 -0
  155. package/dist/tools/update-label.d.ts.map +1 -0
  156. package/dist/tools/update-label.js +43 -0
  157. package/dist/tools/update-label.js.map +1 -0
  158. package/dist/tools/update-milestone.d.ts +16 -0
  159. package/dist/tools/update-milestone.d.ts.map +1 -0
  160. package/dist/tools/update-milestone.js +44 -0
  161. package/dist/tools/update-milestone.js.map +1 -0
  162. package/dist/tools.json +4044 -577
  163. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,cAAM,YAAa,SAAQ,cAAc;IACvC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,gCAAgC;IACpD,SAAkB,WAAW,YAAY;IACzC,QAAQ,CAAC,WAAW,WAAwB;IAC5C,SAAkB,QAAQ,wBAAwB;IAClD,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAsB9B;IAEI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAIlC;;AAED,wBAAkC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4DA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,cAAM,YAAa,SAAQ,cAAc;IACvC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,gCAAgC;IACpD,SAAkB,WAAW,YAAY;IACzC,QAAQ,CAAC,WAAW,WAAwB;IAC5C,SAAkB,QAAQ,wBAAwB;IAClD,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CA0E9B;IAEI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAIlC;;AAED,wBAAkC"}
package/dist/index.js CHANGED
@@ -1,24 +1,62 @@
1
1
  import { isLinearAuthenticated, waitForLinearAuth } from './linear-api.js';
2
+ import { addIssueLabel } from './tools/add-issue-label.js';
3
+ import { addIssueSubscriber } from './tools/add-issue-subscriber.js';
2
4
  import { archiveIssue } from './tools/archive-issue.js';
5
+ import { batchUpdateIssues } from './tools/batch-update-issues.js';
6
+ import { createAttachment } from './tools/create-attachment.js';
3
7
  import { createComment } from './tools/create-comment.js';
8
+ import { createDocument } from './tools/create-document.js';
9
+ import { createInitiative } from './tools/create-initiative.js';
4
10
  import { createIssue } from './tools/create-issue.js';
11
+ import { createIssueRelation } from './tools/create-issue-relation.js';
5
12
  import { createLabel } from './tools/create-label.js';
13
+ import { createMilestone } from './tools/create-milestone.js';
6
14
  import { createProject } from './tools/create-project.js';
15
+ import { createProjectUpdate } from './tools/create-project-update.js';
16
+ import { deleteAttachment } from './tools/delete-attachment.js';
17
+ import { deleteComment } from './tools/delete-comment.js';
7
18
  import { deleteIssue } from './tools/delete-issue.js';
19
+ import { deleteIssueRelation } from './tools/delete-issue-relation.js';
20
+ import { deleteLabel } from './tools/delete-label.js';
21
+ import { deleteProjectUpdate } from './tools/delete-project-update.js';
22
+ import { getAttachment } from './tools/get-attachment.js';
23
+ import { getCycle } from './tools/get-cycle.js';
24
+ import { getDocument } from './tools/get-document.js';
25
+ import { getInitiative } from './tools/get-initiative.js';
8
26
  import { getIssue } from './tools/get-issue.js';
27
+ import { getMilestone } from './tools/get-milestone.js';
9
28
  import { getProject } from './tools/get-project.js';
29
+ import { getTeam } from './tools/get-team.js';
30
+ import { getUser } from './tools/get-user.js';
10
31
  import { getViewer } from './tools/get-viewer.js';
32
+ import { listAttachments } from './tools/list-attachments.js';
11
33
  import { listComments } from './tools/list-comments.js';
12
34
  import { listCycles } from './tools/list-cycles.js';
35
+ import { listDocuments } from './tools/list-documents.js';
36
+ import { listInitiatives } from './tools/list-initiatives.js';
37
+ import { listIssueHistory } from './tools/list-issue-history.js';
13
38
  import { listIssueRelations } from './tools/list-issue-relations.js';
14
39
  import { listLabels } from './tools/list-labels.js';
40
+ import { listMilestones } from './tools/list-milestones.js';
41
+ import { listProjectLabels } from './tools/list-project-labels.js';
42
+ import { listProjectUpdates } from './tools/list-project-updates.js';
15
43
  import { listProjects } from './tools/list-projects.js';
44
+ import { listSubIssues } from './tools/list-sub-issues.js';
45
+ import { listTeamMembers } from './tools/list-team-members.js';
16
46
  import { listTeams } from './tools/list-teams.js';
17
47
  import { listUsers } from './tools/list-users.js';
18
48
  import { listWorkflowStates } from './tools/list-workflow-states.js';
49
+ import { moveIssueToProject } from './tools/move-issue-to-project.js';
50
+ import { removeIssueLabel } from './tools/remove-issue-label.js';
51
+ import { removeIssueSubscriber } from './tools/remove-issue-subscriber.js';
19
52
  import { searchIssues } from './tools/search-issues.js';
53
+ import { setIssueCycle } from './tools/set-issue-cycle.js';
20
54
  import { updateComment } from './tools/update-comment.js';
55
+ import { updateDocument } from './tools/update-document.js';
56
+ import { updateInitiative } from './tools/update-initiative.js';
21
57
  import { updateIssue } from './tools/update-issue.js';
58
+ import { updateLabel } from './tools/update-label.js';
59
+ import { updateMilestone } from './tools/update-milestone.js';
22
60
  import { updateProject } from './tools/update-project.js';
23
61
  import { OpenTabsPlugin } from '@opentabs-dev/plugin-sdk';
24
62
  class LinearPlugin extends OpenTabsPlugin {
@@ -28,27 +66,79 @@ class LinearPlugin extends OpenTabsPlugin {
28
66
  urlPatterns = ['*://linear.app/*'];
29
67
  homepage = 'https://linear.app';
30
68
  tools = [
69
+ // Issues
31
70
  searchIssues,
32
71
  getIssue,
33
72
  createIssue,
34
73
  updateIssue,
35
74
  deleteIssue,
36
75
  archiveIssue,
76
+ batchUpdateIssues,
77
+ listSubIssues,
78
+ listIssueHistory,
79
+ // Issue relations
37
80
  listIssueRelations,
81
+ createIssueRelation,
82
+ deleteIssueRelation,
83
+ // Issue labels (additive/subtractive)
84
+ addIssueLabel,
85
+ removeIssueLabel,
86
+ // Issue subscribers
87
+ addIssueSubscriber,
88
+ removeIssueSubscriber,
89
+ // Issue assignment
90
+ setIssueCycle,
91
+ moveIssueToProject,
92
+ // Attachments
93
+ listAttachments,
94
+ getAttachment,
95
+ createAttachment,
96
+ deleteAttachment,
97
+ // Comments
38
98
  createComment,
39
99
  updateComment,
100
+ deleteComment,
40
101
  listComments,
102
+ // Projects
41
103
  listProjects,
42
104
  getProject,
43
105
  createProject,
44
106
  updateProject,
107
+ listProjectLabels,
108
+ // Project updates (health reports)
109
+ listProjectUpdates,
110
+ createProjectUpdate,
111
+ deleteProjectUpdate,
112
+ // Milestones
113
+ listMilestones,
114
+ getMilestone,
115
+ createMilestone,
116
+ updateMilestone,
117
+ // Initiatives
118
+ listInitiatives,
119
+ getInitiative,
120
+ createInitiative,
121
+ updateInitiative,
122
+ // Documents
123
+ listDocuments,
124
+ getDocument,
125
+ createDocument,
126
+ updateDocument,
127
+ // Teams & Users
45
128
  listTeams,
129
+ getTeam,
130
+ listTeamMembers,
131
+ listUsers,
132
+ getUser,
133
+ getViewer,
134
+ // Workflow
46
135
  listWorkflowStates,
47
136
  listLabels,
48
137
  createLabel,
49
- getViewer,
50
- listUsers,
138
+ updateLabel,
139
+ deleteLabel,
51
140
  listCycles,
141
+ getCycle,
52
142
  ];
53
143
  async isReady() {
54
144
  if (isLinearAuthenticated())
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,YAAa,SAAQ,cAAc;IAC9B,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,4BAA4B,CAAC;IAClC,WAAW,GAAG,QAAQ,CAAC;IAChC,WAAW,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1B,QAAQ,GAAG,oBAAoB,CAAC;IACzC,KAAK,GAAqB;QACjC,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,WAAW;QACX,WAAW;QACX,YAAY;QACZ,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,aAAa;QACb,aAAa;QACb,SAAS;QACT,kBAAkB;QAClB,UAAU;QACV,WAAW;QACX,SAAS;QACT,SAAS;QACT,UAAU;KACX,CAAC;IAEF,KAAK,CAAC,OAAO;QACX,IAAI,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export declare const addIssueLabel: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ issue_id: z.ZodString;
4
+ label_id: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ issue: z.ZodObject<{
7
+ id: z.ZodString;
8
+ identifier: z.ZodString;
9
+ title: z.ZodString;
10
+ description: z.ZodString;
11
+ priority: z.ZodNumber;
12
+ priority_label: z.ZodString;
13
+ state_name: z.ZodString;
14
+ state_type: z.ZodString;
15
+ assignee_name: z.ZodString;
16
+ team_key: z.ZodString;
17
+ team_name: z.ZodString;
18
+ label_names: z.ZodArray<z.ZodString>;
19
+ project_name: z.ZodString;
20
+ cycle_number: z.ZodNumber;
21
+ due_date: z.ZodString;
22
+ estimate: z.ZodNumber;
23
+ url: z.ZodString;
24
+ created_at: z.ZodString;
25
+ updated_at: z.ZodString;
26
+ }, z.core.$strip>;
27
+ }, z.core.$strip>>;
28
+ //# sourceMappingURL=add-issue-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-issue-label.d.ts","sourceRoot":"","sources":["../../src/tools/add-issue-label.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;kBA0DxB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { graphql } from '../linear-api.js';
2
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
3
+ import { z } from 'zod';
4
+ import { issueSchema, mapIssue } from './schemas.js';
5
+ const ISSUE_FIELDS = `
6
+ id identifier title description priority priorityLabel url
7
+ createdAt updatedAt dueDate estimate
8
+ state { name type }
9
+ assignee { name displayName }
10
+ team { key name }
11
+ labels { nodes { id name } }
12
+ project { name }
13
+ cycle { number }
14
+ `;
15
+ export const addIssueLabel = defineTool({
16
+ name: 'add_issue_label',
17
+ displayName: 'Add Issue Label',
18
+ description: 'Add a label to an issue without removing existing labels. Unlike update_issue which replaces all labels, this appends.',
19
+ summary: 'Add a label to an issue',
20
+ icon: 'tag',
21
+ group: 'Issues',
22
+ input: z.object({
23
+ issue_id: z.string().describe('Issue UUID to add the label to'),
24
+ label_id: z.string().describe('Label UUID to add (use list_labels to find label IDs)'),
25
+ }),
26
+ output: z.object({
27
+ issue: issueSchema.describe('The updated issue with the new label'),
28
+ }),
29
+ handle: async (params) => {
30
+ // Fetch current label IDs
31
+ const current = await graphql(`query GetIssueLabels($id: String!) {
32
+ issue(id: $id) {
33
+ labels { nodes { id } }
34
+ }
35
+ }`, { id: params.issue_id });
36
+ if (!current.issue)
37
+ throw ToolError.notFound('Issue not found');
38
+ const existingIds = (current.issue.labels?.nodes ?? []).map(l => l.id);
39
+ if (existingIds.includes(params.label_id)) {
40
+ // Label already present — just return the issue
41
+ const data = await graphql(`query GetIssue($id: String!) { issue(id: $id) { ${ISSUE_FIELDS} } }`, { id: params.issue_id });
42
+ return { issue: mapIssue(data.issue) };
43
+ }
44
+ const labelIds = [...existingIds, params.label_id];
45
+ const data = await graphql(`mutation AddIssueLabel($id: String!, $input: IssueUpdateInput!) {
46
+ issueUpdate(id: $id, input: $input) {
47
+ success
48
+ issue { ${ISSUE_FIELDS} }
49
+ }
50
+ }`, { id: params.issue_id, input: { labelIds } });
51
+ if (!data.issueUpdate?.issue)
52
+ throw ToolError.internal('Failed to add label — no issue returned');
53
+ return { issue: mapIssue(data.issueUpdate.issue) };
54
+ },
55
+ });
56
+ //# sourceMappingURL=add-issue-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-issue-label.js","sourceRoot":"","sources":["../../src/tools/add-issue-label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,YAAY,GAAG;;;;;;;;;CASpB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EACT,wHAAwH;IAC1H,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACvF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAG3B;;;;QAIE,EACF,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CACxB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,gDAAgD;YAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,mDAAmD,YAAY,MAAM,EACrE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CACxB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAuC,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,OAAO,CAGxB;;;oBAGc,YAAY;;QAExB,EACF,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAC7C,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK;YAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QAElG,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAuC,CAAC,EAAE,CAAC;IACvF,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare const addIssueSubscriber: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ issue_id: z.ZodString;
4
+ subscriber_id: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ success: z.ZodBoolean;
7
+ }, z.core.$strip>>;
8
+ //# sourceMappingURL=add-issue-subscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-issue-subscriber.d.ts","sourceRoot":"","sources":["../../src/tools/add-issue-subscriber.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;kBA8B7B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { graphql } from '../linear-api.js';
2
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
3
+ import { z } from 'zod';
4
+ export const addIssueSubscriber = defineTool({
5
+ name: 'add_issue_subscriber',
6
+ displayName: 'Add Issue Subscriber',
7
+ description: 'Subscribe a user to receive notifications for a Linear issue.',
8
+ summary: 'Subscribe a user to an issue',
9
+ icon: 'bell-plus',
10
+ group: 'Issues',
11
+ input: z.object({
12
+ issue_id: z.string().describe('Issue UUID to subscribe to'),
13
+ subscriber_id: z.string().describe('User UUID to subscribe (use list_users to find user IDs)'),
14
+ }),
15
+ output: z.object({
16
+ success: z.boolean().describe('Whether the subscription was successfully created'),
17
+ }),
18
+ handle: async (params) => {
19
+ const data = await graphql(`mutation AddIssueSubscriber($id: String!, $userId: String!) {
20
+ issueSubscribe(id: $id, userId: $userId) {
21
+ success
22
+ }
23
+ }`, { id: params.issue_id, userId: params.subscriber_id });
24
+ if (!data.issueSubscribe)
25
+ throw ToolError.internal('Failed to subscribe — no response');
26
+ return { success: data.issueSubscribe.success };
27
+ },
28
+ });
29
+ //# sourceMappingURL=add-issue-subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-issue-subscriber.js","sourceRoot":"","sources":["../../src/tools/add-issue-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,+DAA+D;IAC5E,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC3D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;KAC/F,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACnF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,OAAO,CAGxB;;;;QAIE,EACF,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CACtD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAExF,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const batchUpdateIssues: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ issue_ids: z.ZodArray<z.ZodString>;
4
+ state_id: z.ZodOptional<z.ZodString>;
5
+ assignee_id: z.ZodOptional<z.ZodString>;
6
+ priority: z.ZodOptional<z.ZodNumber>;
7
+ project_id: z.ZodOptional<z.ZodString>;
8
+ cycle_id: z.ZodOptional<z.ZodString>;
9
+ label_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ due_date: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>, z.ZodObject<{
12
+ issues: z.ZodArray<z.ZodObject<{
13
+ id: z.ZodString;
14
+ identifier: z.ZodString;
15
+ title: z.ZodString;
16
+ description: z.ZodString;
17
+ priority: z.ZodNumber;
18
+ priority_label: z.ZodString;
19
+ state_name: z.ZodString;
20
+ state_type: z.ZodString;
21
+ assignee_name: z.ZodString;
22
+ team_key: z.ZodString;
23
+ team_name: z.ZodString;
24
+ label_names: z.ZodArray<z.ZodString>;
25
+ project_name: z.ZodString;
26
+ cycle_number: z.ZodNumber;
27
+ due_date: z.ZodString;
28
+ estimate: z.ZodNumber;
29
+ url: z.ZodString;
30
+ created_at: z.ZodString;
31
+ updated_at: z.ZodString;
32
+ }, z.core.$strip>>;
33
+ failed: z.ZodArray<z.ZodString>;
34
+ }, z.core.$strip>>;
35
+ //# sourceMappingURL=batch-update-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-update-issues.d.ts","sourceRoot":"","sources":["../../src/tools/batch-update-issues.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyE5B,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { graphql } from '../linear-api.js';
2
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
3
+ import { z } from 'zod';
4
+ import { issueSchema, mapIssue } from './schemas.js';
5
+ const ISSUE_FIELDS = `
6
+ id identifier title description priority priorityLabel url
7
+ createdAt updatedAt dueDate estimate
8
+ state { name type }
9
+ assignee { name displayName }
10
+ team { key name }
11
+ labels { nodes { name } }
12
+ project { name }
13
+ cycle { number }
14
+ `;
15
+ export const batchUpdateIssues = defineTool({
16
+ name: 'batch_update_issues',
17
+ displayName: 'Batch Update Issues',
18
+ description: 'Apply the same update to multiple issues at once. All specified fields are applied to every issue in the batch. Maximum 25 issues per call.',
19
+ summary: 'Update multiple issues at once',
20
+ icon: 'layers',
21
+ group: 'Issues',
22
+ input: z.object({
23
+ issue_ids: z.array(z.string()).min(1).max(25).describe('Array of issue UUIDs to update (1–25)'),
24
+ state_id: z.string().optional().describe('New workflow state UUID'),
25
+ assignee_id: z.string().optional().describe('New assignee UUID'),
26
+ priority: z.number().optional().describe('New priority (0=none, 1=urgent, 2=high, 3=medium, 4=low)'),
27
+ project_id: z.string().optional().describe('Move to this project UUID'),
28
+ cycle_id: z.string().optional().describe('Assign to this cycle UUID'),
29
+ label_ids: z.array(z.string()).optional().describe('Replace labels with these label UUIDs'),
30
+ due_date: z.string().optional().describe('New due date in YYYY-MM-DD format'),
31
+ }),
32
+ output: z.object({
33
+ issues: z.array(issueSchema).describe('The updated issues'),
34
+ failed: z.array(z.string()).describe('Issue UUIDs that failed to update'),
35
+ }),
36
+ handle: async (params) => {
37
+ const input = {};
38
+ if (params.state_id !== undefined)
39
+ input.stateId = params.state_id;
40
+ if (params.assignee_id !== undefined)
41
+ input.assigneeId = params.assignee_id;
42
+ if (params.priority !== undefined)
43
+ input.priority = params.priority;
44
+ if (params.project_id !== undefined)
45
+ input.projectId = params.project_id;
46
+ if (params.cycle_id !== undefined)
47
+ input.cycleId = params.cycle_id;
48
+ if (params.label_ids !== undefined)
49
+ input.labelIds = params.label_ids;
50
+ if (params.due_date !== undefined)
51
+ input.dueDate = params.due_date;
52
+ if (Object.keys(input).length === 0) {
53
+ throw ToolError.validation('No update fields specified — provide at least one field to update');
54
+ }
55
+ // Build aliased mutations for batch execution in a single GraphQL request.
56
+ // Issue IDs are passed as GraphQL variables to prevent injection.
57
+ const varDefs = params.issue_ids.map((_, i) => `$id${i}: String!`).join(', ');
58
+ const aliases = params.issue_ids.map((_, i) => `issue${i}: issueUpdate(id: $id${i}, input: $input) {
59
+ success
60
+ issue { ${ISSUE_FIELDS} }
61
+ }`);
62
+ const query = `mutation BatchUpdateIssues($input: IssueUpdateInput!, ${varDefs}) {
63
+ ${aliases.join('\n')}
64
+ }`;
65
+ const vars = { input };
66
+ for (let i = 0; i < params.issue_ids.length; i++) {
67
+ vars[`id${i}`] = params.issue_ids[i];
68
+ }
69
+ const data = await graphql(query, vars);
70
+ const issues = [];
71
+ const failed = [];
72
+ for (let i = 0; i < params.issue_ids.length; i++) {
73
+ const result = data[`issue${i}`];
74
+ if (result?.success && result.issue) {
75
+ issues.push(mapIssue(result.issue));
76
+ }
77
+ else {
78
+ const issueId = params.issue_ids[i];
79
+ if (issueId)
80
+ failed.push(issueId);
81
+ }
82
+ }
83
+ return { issues, failed };
84
+ },
85
+ });
86
+ //# sourceMappingURL=batch-update-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-update-issues.js","sourceRoot":"","sources":["../../src/tools/batch-update-issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const createAttachment: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ issue_id: z.ZodString;
4
+ url: z.ZodString;
5
+ title: z.ZodString;
6
+ subtitle: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ attachment: z.ZodObject<{
9
+ id: z.ZodString;
10
+ title: z.ZodString;
11
+ subtitle: z.ZodString;
12
+ url: z.ZodString;
13
+ source_type: z.ZodString;
14
+ creator_name: z.ZodString;
15
+ created_at: z.ZodString;
16
+ updated_at: z.ZodString;
17
+ }, z.core.$strip>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=create-attachment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-attachment.d.ts","sourceRoot":"","sources":["../../src/tools/create-attachment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;kBAiD3B,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { graphql } from '../linear-api.js';
2
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
3
+ import { z } from 'zod';
4
+ import { attachmentSchema, mapAttachment } from './schemas.js';
5
+ export const createAttachment = defineTool({
6
+ name: 'create_attachment',
7
+ displayName: 'Create Attachment',
8
+ description: 'Link a URL (PR, document, design file, etc.) to a Linear issue as an attachment.',
9
+ summary: 'Link a URL to an issue',
10
+ icon: 'paperclip',
11
+ group: 'Issues',
12
+ input: z.object({
13
+ issue_id: z.string().describe('Issue UUID to attach to'),
14
+ url: z.string().describe('URL to attach (e.g. GitHub PR, Figma file, Google Doc)'),
15
+ title: z.string().describe('Attachment title'),
16
+ subtitle: z.string().optional().describe('Attachment subtitle or description'),
17
+ }),
18
+ output: z.object({
19
+ attachment: attachmentSchema.describe('The newly created attachment'),
20
+ }),
21
+ handle: async (params) => {
22
+ const input = {
23
+ issueId: params.issue_id,
24
+ url: params.url,
25
+ title: params.title,
26
+ };
27
+ if (params.subtitle !== undefined)
28
+ input.subtitle = params.subtitle;
29
+ const data = await graphql(`mutation CreateAttachment($input: AttachmentCreateInput!) {
30
+ attachmentCreate(input: $input) {
31
+ success
32
+ attachment {
33
+ id title subtitle url sourceType createdAt updatedAt
34
+ creator { name displayName }
35
+ }
36
+ }
37
+ }`, { input });
38
+ if (!data.attachmentCreate?.attachment)
39
+ throw ToolError.internal('Attachment creation failed — no attachment returned');
40
+ return {
41
+ attachment: mapAttachment(data.attachmentCreate.attachment),
42
+ };
43
+ },
44
+ });
45
+ //# sourceMappingURL=create-attachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-attachment.js","sourceRoot":"","sources":["../../src/tools/create-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;IACzC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,kFAAkF;IAC/F,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACxD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KACtE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA4B;YACrC,OAAO,EAAE,MAAM,CAAC,QAAQ;YACxB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEpE,MAAM,IAAI,GAAG,MAAM,OAAO,CAMxB;;;;;;;;QAQE,EACF,EAAE,KAAK,EAAE,CACV,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU;YACpC,MAAM,SAAS,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;QAElF,OAAO;YACL,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAiD,CAAC;SACnG,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ export declare const createDocument: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ title: z.ZodString;
4
+ content: z.ZodOptional<z.ZodString>;
5
+ project_id: z.ZodOptional<z.ZodString>;
6
+ icon: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ document: z.ZodObject<{
9
+ id: z.ZodString;
10
+ title: z.ZodString;
11
+ content: z.ZodString;
12
+ slug_id: z.ZodString;
13
+ icon: z.ZodString;
14
+ creator_name: z.ZodString;
15
+ project_name: z.ZodString;
16
+ url: z.ZodString;
17
+ created_at: z.ZodString;
18
+ updated_at: z.ZodString;
19
+ }, z.core.$strip>;
20
+ }, z.core.$strip>>;
21
+ //# sourceMappingURL=create-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-document.d.ts","sourceRoot":"","sources":["../../src/tools/create-document.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;kBA+CzB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { graphql } from '../linear-api.js';
2
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
3
+ import { z } from 'zod';
4
+ import { documentSchema, mapDocument } from './schemas.js';
5
+ export const createDocument = defineTool({
6
+ name: 'create_document',
7
+ displayName: 'Create Document',
8
+ description: 'Create a new document in Linear, optionally associated with a project.',
9
+ summary: 'Create a new document',
10
+ icon: 'file-plus',
11
+ group: 'Documents',
12
+ input: z.object({
13
+ title: z.string().describe('Document title'),
14
+ content: z.string().optional().describe('Document content in markdown'),
15
+ project_id: z.string().optional().describe('Project UUID to associate the document with'),
16
+ icon: z.string().optional().describe('Icon emoji for the document'),
17
+ }),
18
+ output: z.object({
19
+ document: documentSchema.describe('The newly created document'),
20
+ }),
21
+ handle: async (params) => {
22
+ const input = {
23
+ title: params.title,
24
+ };
25
+ if (params.content !== undefined)
26
+ input.content = params.content;
27
+ if (params.project_id)
28
+ input.projectId = params.project_id;
29
+ if (params.icon)
30
+ input.icon = params.icon;
31
+ const data = await graphql(`mutation CreateDocument($input: DocumentCreateInput!) {
32
+ documentCreate(input: $input) {
33
+ success
34
+ document {
35
+ id title content slugId icon url createdAt updatedAt
36
+ creator { name displayName }
37
+ project { name }
38
+ }
39
+ }
40
+ }`, { input });
41
+ if (!data.documentCreate?.document)
42
+ throw ToolError.internal('Document creation failed — no document returned');
43
+ return { document: mapDocument(data.documentCreate.document) };
44
+ },
45
+ });
46
+ //# sourceMappingURL=create-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-document.js","sourceRoot":"","sources":["../../src/tools/create-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,wEAAwE;IACrF,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACvE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAChE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA4B;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACjE,IAAI,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3D,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAMxB;;;;;;;;;QASE,EACF,EAAE,KAAK,EAAE,CACV,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ;YAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;QAEhH,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAA6C,CAAC,EAAE,CAAC;IACtG,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const createInitiative: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ name: z.ZodString;
4
+ description: z.ZodOptional<z.ZodString>;
5
+ status: z.ZodOptional<z.ZodEnum<{
6
+ Planned: "Planned";
7
+ Active: "Active";
8
+ Completed: "Completed";
9
+ }>>;
10
+ color: z.ZodOptional<z.ZodString>;
11
+ owner_id: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>, z.ZodObject<{
13
+ initiative: z.ZodObject<{
14
+ id: z.ZodString;
15
+ name: z.ZodString;
16
+ description: z.ZodString;
17
+ status: z.ZodString;
18
+ color: z.ZodString;
19
+ icon: z.ZodString;
20
+ owner_name: z.ZodString;
21
+ url: z.ZodString;
22
+ created_at: z.ZodString;
23
+ updated_at: z.ZodString;
24
+ }, z.core.$strip>;
25
+ }, z.core.$strip>>;
26
+ //# sourceMappingURL=create-initiative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-initiative.d.ts","sourceRoot":"","sources":["../../src/tools/create-initiative.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;kBAmD3B,CAAC"}