runline 0.2.1 → 0.2.2

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 (189) hide show
  1. package/dist/plugins/actionNetwork/src/index.js +118 -25
  2. package/dist/plugins/activeCampaign/src/index.js +184 -38
  3. package/dist/plugins/adalo/src/index.js +40 -8
  4. package/dist/plugins/affinity/src/index.js +100 -20
  5. package/dist/plugins/agileCrm/src/index.js +115 -27
  6. package/dist/plugins/airtable/src/index.js +94 -19
  7. package/dist/plugins/airtop/src/index.js +266 -62
  8. package/dist/plugins/apiTemplateIo/src/index.js +25 -5
  9. package/dist/plugins/asana/src/index.js +195 -41
  10. package/dist/plugins/autopilot/src/index.js +39 -8
  11. package/dist/plugins/bambooHr/src/index.js +109 -22
  12. package/dist/plugins/bannerbear/src/index.js +36 -8
  13. package/dist/plugins/baserow/src/index.js +35 -7
  14. package/dist/plugins/beeminder/src/index.js +198 -40
  15. package/dist/plugins/bitly/src/index.js +46 -10
  16. package/dist/plugins/bitwarden/src/index.js +167 -36
  17. package/dist/plugins/box/src/index.js +172 -37
  18. package/dist/plugins/brandfetch/src/index.js +5 -1
  19. package/dist/plugins/brevo/src/index.js +136 -29
  20. package/dist/plugins/bubble/src/index.js +76 -17
  21. package/dist/plugins/chargebee/src/index.js +35 -7
  22. package/dist/plugins/circleci/src/index.js +50 -10
  23. package/dist/plugins/ciscoWebex/src/index.js +131 -27
  24. package/dist/plugins/clearbit/src/index.js +76 -17
  25. package/dist/plugins/clickup/src/index.js +500 -107
  26. package/dist/plugins/clockify/src/index.js +229 -47
  27. package/dist/plugins/cloudflare/src/index.js +28 -6
  28. package/dist/plugins/cockpit/src/index.js +54 -12
  29. package/dist/plugins/coda/src/index.js +81 -19
  30. package/dist/plugins/coingecko/src/index.js +157 -33
  31. package/dist/plugins/contentful/src/index.js +85 -17
  32. package/dist/plugins/convertkit/src/index.js +74 -18
  33. package/dist/plugins/copper/src/index.js +59 -11
  34. package/dist/plugins/cortex/src/index.js +55 -13
  35. package/dist/plugins/currents/src/index.js +310 -71
  36. package/dist/plugins/customerIo/src/index.js +112 -23
  37. package/dist/plugins/databricks/src/index.js +549 -115
  38. package/dist/plugins/deepl/src/index.js +26 -6
  39. package/dist/plugins/demio/src/index.js +56 -11
  40. package/dist/plugins/dhl/src/index.js +16 -3
  41. package/dist/plugins/discord/src/index.js +141 -31
  42. package/dist/plugins/discourse/src/index.js +136 -31
  43. package/dist/plugins/disqus/src/index.js +96 -20
  44. package/dist/plugins/docker/src/index.js +20 -4
  45. package/dist/plugins/drift/src/index.js +19 -5
  46. package/dist/plugins/dropbox/src/index.js +139 -30
  47. package/dist/plugins/dropcontact/src/index.js +21 -4
  48. package/dist/plugins/egoi/src/index.js +61 -15
  49. package/dist/plugins/elasticsearch/src/index.js +59 -13
  50. package/dist/plugins/emelia/src/index.js +95 -19
  51. package/dist/plugins/erpnext/src/index.js +74 -15
  52. package/dist/plugins/facebookGraph/src/index.js +52 -11
  53. package/dist/plugins/freshdesk/src/index.js +220 -48
  54. package/dist/plugins/freshservice/src/index.js +39 -9
  55. package/dist/plugins/freshworksCrm/src/index.js +58 -12
  56. package/dist/plugins/getresponse/src/index.js +87 -18
  57. package/dist/plugins/ghost/src/index.js +114 -26
  58. package/dist/plugins/github/src/index.js +483 -109
  59. package/dist/plugins/gitlab/src/index.js +193 -45
  60. package/dist/plugins/gong/src/index.js +68 -14
  61. package/dist/plugins/gotify/src/index.js +43 -9
  62. package/dist/plugins/gotowebinar/src/index.js +233 -47
  63. package/dist/plugins/grafana/src/index.js +92 -21
  64. package/dist/plugins/graphql/src/index.js +38 -8
  65. package/dist/plugins/grist/src/index.js +52 -10
  66. package/dist/plugins/hackernews/src/index.js +32 -6
  67. package/dist/plugins/halopsa/src/index.js +131 -26
  68. package/dist/plugins/harvest/src/index.js +182 -42
  69. package/dist/plugins/helpscout/src/index.js +153 -31
  70. package/dist/plugins/highlevel/src/index.js +291 -58
  71. package/dist/plugins/homeAssistant/src/index.js +124 -26
  72. package/dist/plugins/hubspot/src/index.js +163 -29
  73. package/dist/plugins/humanticAi/src/index.js +54 -5
  74. package/dist/plugins/hunter/src/index.js +21 -4
  75. package/dist/plugins/intercom/src/index.js +95 -20
  76. package/dist/plugins/iterable/src/index.js +96 -20
  77. package/dist/plugins/jenkins/src/index.js +75 -17
  78. package/dist/plugins/jira/src/index.js +193 -43
  79. package/dist/plugins/keap/src/index.js +222 -56
  80. package/dist/plugins/kobotoolbox/src/index.js +113 -25
  81. package/dist/plugins/lemlist/src/index.js +79 -18
  82. package/dist/plugins/linear/src/index.js +86 -19
  83. package/dist/plugins/lingvanex/src/index.js +38 -8
  84. package/dist/plugins/linkedin/src/index.js +37 -8
  85. package/dist/plugins/lonescale/src/index.js +41 -9
  86. package/dist/plugins/magento/src/index.js +98 -27
  87. package/dist/plugins/mailcheck/src/index.js +11 -2
  88. package/dist/plugins/mailchimp/src/index.js +193 -42
  89. package/dist/plugins/mailerlite/src/index.js +61 -12
  90. package/dist/plugins/mailgun/src/index.js +39 -7
  91. package/dist/plugins/mailjet/src/index.js +141 -30
  92. package/dist/plugins/mandrill/src/index.js +67 -14
  93. package/dist/plugins/marketstack/src/index.js +56 -10
  94. package/dist/plugins/matrix/src/index.js +97 -20
  95. package/dist/plugins/mattermost/src/index.js +124 -26
  96. package/dist/plugins/mautic/src/index.js +129 -26
  97. package/dist/plugins/medium/src/index.js +64 -13
  98. package/dist/plugins/messagebird/src/index.js +80 -15
  99. package/dist/plugins/metabase/src/index.js +57 -12
  100. package/dist/plugins/misp/src/index.js +135 -33
  101. package/dist/plugins/mocean/src/index.js +33 -7
  102. package/dist/plugins/monday/src/index.js +97 -23
  103. package/dist/plugins/monicaCrm/src/index.js +112 -23
  104. package/dist/plugins/msg91/src/index.js +11 -2
  105. package/dist/plugins/nasa/src/index.js +108 -21
  106. package/dist/plugins/netlify/src/index.js +28 -6
  107. package/dist/plugins/netscalerAdc/src/index.js +144 -29
  108. package/dist/plugins/nextcloud/src/index.js +103 -20
  109. package/dist/plugins/nocodb/src/index.js +57 -11
  110. package/dist/plugins/notion/src/index.js +148 -37
  111. package/dist/plugins/npm/src/index.js +59 -12
  112. package/dist/plugins/odoo/src/index.js +102 -20
  113. package/dist/plugins/okta/src/index.js +50 -10
  114. package/dist/plugins/oneSimpleApi/src/index.js +84 -17
  115. package/dist/plugins/onfleet/src/index.js +139 -32
  116. package/dist/plugins/openThesaurus/src/index.js +46 -9
  117. package/dist/plugins/openweathermap/src/index.js +31 -6
  118. package/dist/plugins/oura/src/index.js +36 -7
  119. package/dist/plugins/paddle/src/index.js +80 -17
  120. package/dist/plugins/pagerduty/src/index.js +53 -12
  121. package/dist/plugins/paypal/src/index.js +51 -11
  122. package/dist/plugins/peekalink/src/index.js +12 -3
  123. package/dist/plugins/phantombuster/src/index.js +39 -8
  124. package/dist/plugins/philipsHue/src/index.js +64 -13
  125. package/dist/plugins/pipedrive/src/index.js +167 -45
  126. package/dist/plugins/plivo/src/index.js +43 -8
  127. package/dist/plugins/postbin/src/index.js +9 -2
  128. package/dist/plugins/posthog/src/index.js +50 -13
  129. package/dist/plugins/profitwell/src/index.js +24 -5
  130. package/dist/plugins/pushbullet/src/index.js +45 -9
  131. package/dist/plugins/pushcut/src/index.js +31 -6
  132. package/dist/plugins/pushover/src/index.js +51 -10
  133. package/dist/plugins/quickbase/src/index.js +66 -13
  134. package/dist/plugins/quickbooks/src/index.js +86 -19
  135. package/dist/plugins/quickchart/src/index.js +35 -7
  136. package/dist/plugins/raindrop/src/index.js +54 -13
  137. package/dist/plugins/reddit/src/index.js +73 -18
  138. package/dist/plugins/rocketchat/src/index.js +47 -9
  139. package/dist/plugins/rundeck/src/index.js +26 -5
  140. package/dist/plugins/salesforce/src/index.js +161 -31
  141. package/dist/plugins/salesmate/src/index.js +75 -16
  142. package/dist/plugins/securityScorecard/src/index.js +73 -15
  143. package/dist/plugins/segment/src/index.js +21 -4
  144. package/dist/plugins/sendgrid/src/index.js +102 -24
  145. package/dist/plugins/sendy/src/index.js +54 -11
  146. package/dist/plugins/sentry/src/index.js +174 -34
  147. package/dist/plugins/servicenow/src/index.js +120 -27
  148. package/dist/plugins/shopify/src/index.js +53 -12
  149. package/dist/plugins/signl4/src/index.js +16 -3
  150. package/dist/plugins/slack/src/index.js +407 -105
  151. package/dist/plugins/sms77/src/index.js +26 -5
  152. package/dist/plugins/splunk/src/index.js +186 -45
  153. package/dist/plugins/spotify/src/index.js +265 -66
  154. package/dist/plugins/stackby/src/index.js +18 -6
  155. package/dist/plugins/storyblok/src/index.js +57 -11
  156. package/dist/plugins/strapi/src/index.js +63 -12
  157. package/dist/plugins/strava/src/index.js +58 -13
  158. package/dist/plugins/stripe/src/index.js +143 -30
  159. package/dist/plugins/supabase/src/index.js +49 -10
  160. package/dist/plugins/syncromsp/src/index.js +245 -67
  161. package/dist/plugins/tapfiliate/src/index.js +57 -14
  162. package/dist/plugins/telegram/src/index.js +202 -39
  163. package/dist/plugins/thehive/src/index.js +271 -66
  164. package/dist/plugins/thehiveProject/src/index.js +457 -89
  165. package/dist/plugins/todoist/src/index.js +326 -77
  166. package/dist/plugins/travisci/src/index.js +35 -8
  167. package/dist/plugins/trello/src/index.js +204 -46
  168. package/dist/plugins/twake/src/index.js +10 -2
  169. package/dist/plugins/twilio/src/index.js +56 -11
  170. package/dist/plugins/twist/src/index.js +241 -48
  171. package/dist/plugins/twitter/src/index.js +128 -30
  172. package/dist/plugins/unleashedSoftware/src/index.js +30 -6
  173. package/dist/plugins/uplead/src/index.js +9 -2
  174. package/dist/plugins/uproc/src/index.js +31 -6
  175. package/dist/plugins/uptimerobot/src/index.js +119 -25
  176. package/dist/plugins/urlscanio/src/index.js +25 -6
  177. package/dist/plugins/vero/src/index.js +68 -13
  178. package/dist/plugins/vonage/src/index.js +32 -6
  179. package/dist/plugins/wekan/src/index.js +297 -52
  180. package/dist/plugins/woocommerce/src/index.js +57 -12
  181. package/dist/plugins/wordpress/src/index.js +94 -18
  182. package/dist/plugins/xero/src/index.js +79 -13
  183. package/dist/plugins/yourls/src/index.js +33 -6
  184. package/dist/plugins/zammad/src/index.js +139 -36
  185. package/dist/plugins/zendesk/src/index.js +201 -48
  186. package/dist/plugins/zoho/src/index.js +88 -21
  187. package/dist/plugins/zoom/src/index.js +41 -7
  188. package/dist/plugins/zulip/src/index.js +101 -20
  189. package/package.json +1 -1
@@ -15,7 +15,10 @@ async function apiRequest(token, baseUrl, method, endpoint, body, qs) {
15
15
  "X-GitHub-Api-Version": "2022-11-28",
16
16
  },
17
17
  };
18
- if (body && Object.keys(body).length > 0 && method !== "GET" && method !== "DELETE") {
18
+ if (body &&
19
+ Object.keys(body).length > 0 &&
20
+ method !== "GET" &&
21
+ method !== "DELETE") {
19
22
  opts.body = JSON.stringify(body);
20
23
  }
21
24
  const res = await fetch(url.toString(), opts);
@@ -43,17 +46,36 @@ export default function github(rl) {
43
46
  rl.setName("github");
44
47
  rl.setVersion("0.1.0");
45
48
  rl.setConnectionSchema({
46
- token: { type: "string", required: true, description: "GitHub personal access token", env: "GITHUB_TOKEN" },
47
- baseUrl: { type: "string", required: false, description: "API base URL (default: https://api.github.com)", env: "GITHUB_API_URL", default: "https://api.github.com" },
49
+ token: {
50
+ type: "string",
51
+ required: true,
52
+ description: "GitHub personal access token",
53
+ env: "GITHUB_TOKEN",
54
+ },
55
+ baseUrl: {
56
+ type: "string",
57
+ required: false,
58
+ description: "API base URL (default: https://api.github.com)",
59
+ env: "GITHUB_API_URL",
60
+ default: "https://api.github.com",
61
+ },
48
62
  });
49
63
  // ── File ────────────────────────────────────────────
50
64
  rl.registerAction("file.get", {
51
65
  description: "Get a file's content from a repository",
52
66
  inputSchema: {
53
- owner: { type: "string", required: true, description: "Repository owner" },
67
+ owner: {
68
+ type: "string",
69
+ required: true,
70
+ description: "Repository owner",
71
+ },
54
72
  repo: { type: "string", required: true, description: "Repository name" },
55
73
  path: { type: "string", required: true, description: "File path" },
56
- ref: { type: "string", required: false, description: "Branch, tag, or commit SHA" },
74
+ ref: {
75
+ type: "string",
76
+ required: false,
77
+ description: "Branch, tag, or commit SHA",
78
+ },
57
79
  },
58
80
  async execute(input, ctx) {
59
81
  const { owner, repo, path, ref } = input;
@@ -66,17 +88,36 @@ export default function github(rl) {
66
88
  rl.registerAction("file.createOrUpdate", {
67
89
  description: "Create or update a file in a repository",
68
90
  inputSchema: {
69
- owner: { type: "string", required: true, description: "Repository owner" },
91
+ owner: {
92
+ type: "string",
93
+ required: true,
94
+ description: "Repository owner",
95
+ },
70
96
  repo: { type: "string", required: true, description: "Repository name" },
71
97
  path: { type: "string", required: true, description: "File path" },
72
- content: { type: "string", required: true, description: "File content (will be base64 encoded)" },
73
- message: { type: "string", required: true, description: "Commit message" },
74
- sha: { type: "string", required: false, description: "SHA of file being replaced (required for updates)" },
98
+ content: {
99
+ type: "string",
100
+ required: true,
101
+ description: "File content (will be base64 encoded)",
102
+ },
103
+ message: {
104
+ type: "string",
105
+ required: true,
106
+ description: "Commit message",
107
+ },
108
+ sha: {
109
+ type: "string",
110
+ required: false,
111
+ description: "SHA of file being replaced (required for updates)",
112
+ },
75
113
  branch: { type: "string", required: false, description: "Branch name" },
76
114
  },
77
115
  async execute(input, ctx) {
78
116
  const { owner, repo, path, content, message, sha, branch } = input;
79
- const body = { message, content: btoa(content) };
117
+ const body = {
118
+ message,
119
+ content: btoa(content),
120
+ };
80
121
  if (sha)
81
122
  body.sha = sha;
82
123
  if (branch)
@@ -87,11 +128,23 @@ export default function github(rl) {
87
128
  rl.registerAction("file.delete", {
88
129
  description: "Delete a file from a repository",
89
130
  inputSchema: {
90
- owner: { type: "string", required: true, description: "Repository owner" },
131
+ owner: {
132
+ type: "string",
133
+ required: true,
134
+ description: "Repository owner",
135
+ },
91
136
  repo: { type: "string", required: true, description: "Repository name" },
92
137
  path: { type: "string", required: true, description: "File path" },
93
- sha: { type: "string", required: true, description: "SHA of file to delete" },
94
- message: { type: "string", required: true, description: "Commit message" },
138
+ sha: {
139
+ type: "string",
140
+ required: true,
141
+ description: "SHA of file to delete",
142
+ },
143
+ message: {
144
+ type: "string",
145
+ required: true,
146
+ description: "Commit message",
147
+ },
95
148
  branch: { type: "string", required: false, description: "Branch name" },
96
149
  },
97
150
  async execute(input, ctx) {
@@ -105,13 +158,25 @@ export default function github(rl) {
105
158
  rl.registerAction("file.list", {
106
159
  description: "List contents of a directory",
107
160
  inputSchema: {
108
- owner: { type: "string", required: true, description: "Repository owner" },
161
+ owner: {
162
+ type: "string",
163
+ required: true,
164
+ description: "Repository owner",
165
+ },
109
166
  repo: { type: "string", required: true, description: "Repository name" },
110
- path: { type: "string", required: false, description: "Directory path (default: root)" },
111
- ref: { type: "string", required: false, description: "Branch, tag, or SHA" },
112
- },
113
- async execute(input, ctx) {
114
- const { owner, repo, path = "", ref } = (input ?? {});
167
+ path: {
168
+ type: "string",
169
+ required: false,
170
+ description: "Directory path (default: root)",
171
+ },
172
+ ref: {
173
+ type: "string",
174
+ required: false,
175
+ description: "Branch, tag, or SHA",
176
+ },
177
+ },
178
+ async execute(input, ctx) {
179
+ const { owner, repo, path = "", ref, } = (input ?? {});
115
180
  const qs = {};
116
181
  if (ref)
117
182
  qs.ref = ref;
@@ -122,16 +187,32 @@ export default function github(rl) {
122
187
  rl.registerAction("issue.create", {
123
188
  description: "Create an issue",
124
189
  inputSchema: {
125
- owner: { type: "string", required: true, description: "Repository owner" },
190
+ owner: {
191
+ type: "string",
192
+ required: true,
193
+ description: "Repository owner",
194
+ },
126
195
  repo: { type: "string", required: true, description: "Repository name" },
127
196
  title: { type: "string", required: true, description: "Issue title" },
128
- body: { type: "string", required: false, description: "Issue body (markdown)" },
197
+ body: {
198
+ type: "string",
199
+ required: false,
200
+ description: "Issue body (markdown)",
201
+ },
129
202
  labels: { type: "array", required: false, description: "Label names" },
130
- assignees: { type: "array", required: false, description: "Assignee usernames" },
131
- milestone: { type: "number", required: false, description: "Milestone number" },
132
- },
133
- async execute(input, ctx) {
134
- const { owner, repo, title, body: issueBody, labels, assignees, milestone } = input;
203
+ assignees: {
204
+ type: "array",
205
+ required: false,
206
+ description: "Assignee usernames",
207
+ },
208
+ milestone: {
209
+ type: "number",
210
+ required: false,
211
+ description: "Milestone number",
212
+ },
213
+ },
214
+ async execute(input, ctx) {
215
+ const { owner, repo, title, body: issueBody, labels, assignees, milestone, } = input;
135
216
  const b = { title };
136
217
  if (issueBody)
137
218
  b.body = issueBody;
@@ -147,9 +228,17 @@ export default function github(rl) {
147
228
  rl.registerAction("issue.get", {
148
229
  description: "Get an issue",
149
230
  inputSchema: {
150
- owner: { type: "string", required: true, description: "Repository owner" },
231
+ owner: {
232
+ type: "string",
233
+ required: true,
234
+ description: "Repository owner",
235
+ },
151
236
  repo: { type: "string", required: true, description: "Repository name" },
152
- issueNumber: { type: "number", required: true, description: "Issue number" },
237
+ issueNumber: {
238
+ type: "number",
239
+ required: true,
240
+ description: "Issue number",
241
+ },
153
242
  },
154
243
  async execute(input, ctx) {
155
244
  const { owner, repo, issueNumber } = input;
@@ -159,9 +248,17 @@ export default function github(rl) {
159
248
  rl.registerAction("issue.update", {
160
249
  description: "Update an issue",
161
250
  inputSchema: {
162
- owner: { type: "string", required: true, description: "Repository owner" },
251
+ owner: {
252
+ type: "string",
253
+ required: true,
254
+ description: "Repository owner",
255
+ },
163
256
  repo: { type: "string", required: true, description: "Repository name" },
164
- issueNumber: { type: "number", required: true, description: "Issue number" },
257
+ issueNumber: {
258
+ type: "number",
259
+ required: true,
260
+ description: "Issue number",
261
+ },
165
262
  title: { type: "string", required: false, description: "New title" },
166
263
  body: { type: "string", required: false, description: "New body" },
167
264
  state: { type: "string", required: false, description: "open or closed" },
@@ -176,23 +273,47 @@ export default function github(rl) {
176
273
  rl.registerAction("issue.createComment", {
177
274
  description: "Create a comment on an issue",
178
275
  inputSchema: {
179
- owner: { type: "string", required: true, description: "Repository owner" },
276
+ owner: {
277
+ type: "string",
278
+ required: true,
279
+ description: "Repository owner",
280
+ },
180
281
  repo: { type: "string", required: true, description: "Repository name" },
181
- issueNumber: { type: "number", required: true, description: "Issue number" },
182
- body: { type: "string", required: true, description: "Comment body (markdown)" },
183
- },
184
- async execute(input, ctx) {
185
- const { owner, repo, issueNumber, body: commentBody } = input;
282
+ issueNumber: {
283
+ type: "number",
284
+ required: true,
285
+ description: "Issue number",
286
+ },
287
+ body: {
288
+ type: "string",
289
+ required: true,
290
+ description: "Comment body (markdown)",
291
+ },
292
+ },
293
+ async execute(input, ctx) {
294
+ const { owner, repo, issueNumber, body: commentBody, } = input;
186
295
  return gh(ctx, "POST", `/repos/${owner}/${repo}/issues/${issueNumber}/comments`, { body: commentBody });
187
296
  },
188
297
  });
189
298
  rl.registerAction("issue.lock", {
190
299
  description: "Lock an issue",
191
300
  inputSchema: {
192
- owner: { type: "string", required: true, description: "Repository owner" },
301
+ owner: {
302
+ type: "string",
303
+ required: true,
304
+ description: "Repository owner",
305
+ },
193
306
  repo: { type: "string", required: true, description: "Repository name" },
194
- issueNumber: { type: "number", required: true, description: "Issue number" },
195
- lockReason: { type: "string", required: false, description: "Reason: off-topic, too heated, resolved, spam" },
307
+ issueNumber: {
308
+ type: "number",
309
+ required: true,
310
+ description: "Issue number",
311
+ },
312
+ lockReason: {
313
+ type: "string",
314
+ required: false,
315
+ description: "Reason: off-topic, too heated, resolved, spam",
316
+ },
196
317
  },
197
318
  async execute(input, ctx) {
198
319
  const { owner, repo, issueNumber, lockReason } = input;
@@ -207,17 +328,37 @@ export default function github(rl) {
207
328
  rl.registerAction("release.create", {
208
329
  description: "Create a release",
209
330
  inputSchema: {
210
- owner: { type: "string", required: true, description: "Repository owner" },
331
+ owner: {
332
+ type: "string",
333
+ required: true,
334
+ description: "Repository owner",
335
+ },
211
336
  repo: { type: "string", required: true, description: "Repository name" },
212
337
  tagName: { type: "string", required: true, description: "Tag name" },
213
338
  name: { type: "string", required: false, description: "Release name" },
214
- body: { type: "string", required: false, description: "Release notes (markdown)" },
215
- draft: { type: "boolean", required: false, description: "Create as draft" },
216
- prerelease: { type: "boolean", required: false, description: "Mark as pre-release" },
217
- targetCommitish: { type: "string", required: false, description: "Branch or commit SHA for the tag" },
218
- },
219
- async execute(input, ctx) {
220
- const { owner, repo, tagName, name, body: releaseBody, draft, prerelease, targetCommitish } = input;
339
+ body: {
340
+ type: "string",
341
+ required: false,
342
+ description: "Release notes (markdown)",
343
+ },
344
+ draft: {
345
+ type: "boolean",
346
+ required: false,
347
+ description: "Create as draft",
348
+ },
349
+ prerelease: {
350
+ type: "boolean",
351
+ required: false,
352
+ description: "Mark as pre-release",
353
+ },
354
+ targetCommitish: {
355
+ type: "string",
356
+ required: false,
357
+ description: "Branch or commit SHA for the tag",
358
+ },
359
+ },
360
+ async execute(input, ctx) {
361
+ const { owner, repo, tagName, name, body: releaseBody, draft, prerelease, targetCommitish, } = input;
221
362
  const b = { tag_name: tagName };
222
363
  if (name)
223
364
  b.name = name;
@@ -235,7 +376,11 @@ export default function github(rl) {
235
376
  rl.registerAction("release.get", {
236
377
  description: "Get a release",
237
378
  inputSchema: {
238
- owner: { type: "string", required: true, description: "Repository owner" },
379
+ owner: {
380
+ type: "string",
381
+ required: true,
382
+ description: "Repository owner",
383
+ },
239
384
  repo: { type: "string", required: true, description: "Repository name" },
240
385
  releaseId: { type: "string", required: true, description: "Release ID" },
241
386
  },
@@ -247,9 +392,17 @@ export default function github(rl) {
247
392
  rl.registerAction("release.list", {
248
393
  description: "List releases",
249
394
  inputSchema: {
250
- owner: { type: "string", required: true, description: "Repository owner" },
395
+ owner: {
396
+ type: "string",
397
+ required: true,
398
+ description: "Repository owner",
399
+ },
251
400
  repo: { type: "string", required: true, description: "Repository name" },
252
- perPage: { type: "number", required: false, description: "Results per page (max: 100)" },
401
+ perPage: {
402
+ type: "number",
403
+ required: false,
404
+ description: "Results per page (max: 100)",
405
+ },
253
406
  page: { type: "number", required: false, description: "Page number" },
254
407
  },
255
408
  async execute(input, ctx) {
@@ -265,17 +418,29 @@ export default function github(rl) {
265
418
  rl.registerAction("release.update", {
266
419
  description: "Update a release",
267
420
  inputSchema: {
268
- owner: { type: "string", required: true, description: "Repository owner" },
421
+ owner: {
422
+ type: "string",
423
+ required: true,
424
+ description: "Repository owner",
425
+ },
269
426
  repo: { type: "string", required: true, description: "Repository name" },
270
427
  releaseId: { type: "string", required: true, description: "Release ID" },
271
428
  tagName: { type: "string", required: false, description: "New tag name" },
272
429
  name: { type: "string", required: false, description: "New name" },
273
- body: { type: "string", required: false, description: "New release notes" },
430
+ body: {
431
+ type: "string",
432
+ required: false,
433
+ description: "New release notes",
434
+ },
274
435
  draft: { type: "boolean", required: false, description: "Draft flag" },
275
- prerelease: { type: "boolean", required: false, description: "Pre-release flag" },
436
+ prerelease: {
437
+ type: "boolean",
438
+ required: false,
439
+ description: "Pre-release flag",
440
+ },
276
441
  },
277
442
  async execute(input, ctx) {
278
- const { owner, repo, releaseId, tagName, name, body: releaseBody, draft, prerelease } = input;
443
+ const { owner, repo, releaseId, tagName, name, body: releaseBody, draft, prerelease, } = input;
279
444
  const b = {};
280
445
  if (tagName)
281
446
  b.tag_name = tagName;
@@ -293,7 +458,11 @@ export default function github(rl) {
293
458
  rl.registerAction("release.delete", {
294
459
  description: "Delete a release",
295
460
  inputSchema: {
296
- owner: { type: "string", required: true, description: "Repository owner" },
461
+ owner: {
462
+ type: "string",
463
+ required: true,
464
+ description: "Repository owner",
465
+ },
297
466
  repo: { type: "string", required: true, description: "Repository name" },
298
467
  releaseId: { type: "string", required: true, description: "Release ID" },
299
468
  },
@@ -307,7 +476,11 @@ export default function github(rl) {
307
476
  rl.registerAction("repository.get", {
308
477
  description: "Get repository details",
309
478
  inputSchema: {
310
- owner: { type: "string", required: true, description: "Repository owner" },
479
+ owner: {
480
+ type: "string",
481
+ required: true,
482
+ description: "Repository owner",
483
+ },
311
484
  repo: { type: "string", required: true, description: "Repository name" },
312
485
  },
313
486
  async execute(input, ctx) {
@@ -318,7 +491,11 @@ export default function github(rl) {
318
491
  rl.registerAction("repository.getLicense", {
319
492
  description: "Get a repository's license",
320
493
  inputSchema: {
321
- owner: { type: "string", required: true, description: "Repository owner" },
494
+ owner: {
495
+ type: "string",
496
+ required: true,
497
+ description: "Repository owner",
498
+ },
322
499
  repo: { type: "string", required: true, description: "Repository name" },
323
500
  },
324
501
  async execute(input, ctx) {
@@ -329,13 +506,37 @@ export default function github(rl) {
329
506
  rl.registerAction("repository.listIssues", {
330
507
  description: "List issues for a repository",
331
508
  inputSchema: {
332
- owner: { type: "string", required: true, description: "Repository owner" },
509
+ owner: {
510
+ type: "string",
511
+ required: true,
512
+ description: "Repository owner",
513
+ },
333
514
  repo: { type: "string", required: true, description: "Repository name" },
334
- state: { type: "string", required: false, description: "open, closed, or all" },
335
- labels: { type: "string", required: false, description: "Comma-separated label names" },
336
- sort: { type: "string", required: false, description: "created, updated, comments" },
337
- direction: { type: "string", required: false, description: "asc or desc" },
338
- perPage: { type: "number", required: false, description: "Results per page" },
515
+ state: {
516
+ type: "string",
517
+ required: false,
518
+ description: "open, closed, or all",
519
+ },
520
+ labels: {
521
+ type: "string",
522
+ required: false,
523
+ description: "Comma-separated label names",
524
+ },
525
+ sort: {
526
+ type: "string",
527
+ required: false,
528
+ description: "created, updated, comments",
529
+ },
530
+ direction: {
531
+ type: "string",
532
+ required: false,
533
+ description: "asc or desc",
534
+ },
535
+ perPage: {
536
+ type: "number",
537
+ required: false,
538
+ description: "Results per page",
539
+ },
339
540
  page: { type: "number", required: false, description: "Page number" },
340
541
  },
341
542
  async execute(input, ctx) {
@@ -359,16 +560,37 @@ export default function github(rl) {
359
560
  rl.registerAction("repository.listPullRequests", {
360
561
  description: "List pull requests",
361
562
  inputSchema: {
362
- owner: { type: "string", required: true, description: "Repository owner" },
563
+ owner: {
564
+ type: "string",
565
+ required: true,
566
+ description: "Repository owner",
567
+ },
363
568
  repo: { type: "string", required: true, description: "Repository name" },
364
- state: { type: "string", required: false, description: "open, closed, or all" },
365
- sort: { type: "string", required: false, description: "created, updated, popularity, long-running" },
366
- direction: { type: "string", required: false, description: "asc or desc" },
367
- perPage: { type: "number", required: false, description: "Results per page" },
569
+ state: {
570
+ type: "string",
571
+ required: false,
572
+ description: "open, closed, or all",
573
+ },
574
+ sort: {
575
+ type: "string",
576
+ required: false,
577
+ description: "created, updated, popularity, long-running",
578
+ },
579
+ direction: {
580
+ type: "string",
581
+ required: false,
582
+ description: "asc or desc",
583
+ },
584
+ perPage: {
585
+ type: "number",
586
+ required: false,
587
+ description: "Results per page",
588
+ },
368
589
  page: { type: "number", required: false, description: "Page number" },
369
590
  },
370
591
  async execute(input, ctx) {
371
- const { owner, repo, state, sort, direction, perPage, page } = (input ?? {});
592
+ const { owner, repo, state, sort, direction, perPage, page } = (input ??
593
+ {});
372
594
  const qs = {};
373
595
  if (state)
374
596
  qs.state = state;
@@ -386,7 +608,11 @@ export default function github(rl) {
386
608
  rl.registerAction("repository.listPopularPaths", {
387
609
  description: "List popular content paths (traffic)",
388
610
  inputSchema: {
389
- owner: { type: "string", required: true, description: "Repository owner" },
611
+ owner: {
612
+ type: "string",
613
+ required: true,
614
+ description: "Repository owner",
615
+ },
390
616
  repo: { type: "string", required: true, description: "Repository name" },
391
617
  },
392
618
  async execute(input, ctx) {
@@ -397,7 +623,11 @@ export default function github(rl) {
397
623
  rl.registerAction("repository.listReferrers", {
398
624
  description: "List top referral sources (traffic)",
399
625
  inputSchema: {
400
- owner: { type: "string", required: true, description: "Repository owner" },
626
+ owner: {
627
+ type: "string",
628
+ required: true,
629
+ description: "Repository owner",
630
+ },
401
631
  repo: { type: "string", required: true, description: "Repository name" },
402
632
  },
403
633
  async execute(input, ctx) {
@@ -409,9 +639,17 @@ export default function github(rl) {
409
639
  rl.registerAction("review.get", {
410
640
  description: "Get a pull request review",
411
641
  inputSchema: {
412
- owner: { type: "string", required: true, description: "Repository owner" },
642
+ owner: {
643
+ type: "string",
644
+ required: true,
645
+ description: "Repository owner",
646
+ },
413
647
  repo: { type: "string", required: true, description: "Repository name" },
414
- pullNumber: { type: "number", required: true, description: "Pull request number" },
648
+ pullNumber: {
649
+ type: "number",
650
+ required: true,
651
+ description: "Pull request number",
652
+ },
415
653
  reviewId: { type: "number", required: true, description: "Review ID" },
416
654
  },
417
655
  async execute(input, ctx) {
@@ -422,9 +660,17 @@ export default function github(rl) {
422
660
  rl.registerAction("review.list", {
423
661
  description: "List reviews on a pull request",
424
662
  inputSchema: {
425
- owner: { type: "string", required: true, description: "Repository owner" },
663
+ owner: {
664
+ type: "string",
665
+ required: true,
666
+ description: "Repository owner",
667
+ },
426
668
  repo: { type: "string", required: true, description: "Repository name" },
427
- pullNumber: { type: "number", required: true, description: "Pull request number" },
669
+ pullNumber: {
670
+ type: "number",
671
+ required: true,
672
+ description: "Pull request number",
673
+ },
428
674
  },
429
675
  async execute(input, ctx) {
430
676
  const { owner, repo, pullNumber } = input;
@@ -434,14 +680,26 @@ export default function github(rl) {
434
680
  rl.registerAction("review.create", {
435
681
  description: "Create a review on a pull request",
436
682
  inputSchema: {
437
- owner: { type: "string", required: true, description: "Repository owner" },
683
+ owner: {
684
+ type: "string",
685
+ required: true,
686
+ description: "Repository owner",
687
+ },
438
688
  repo: { type: "string", required: true, description: "Repository name" },
439
- pullNumber: { type: "number", required: true, description: "Pull request number" },
440
- event: { type: "string", required: true, description: "APPROVE, REQUEST_CHANGES, or COMMENT" },
689
+ pullNumber: {
690
+ type: "number",
691
+ required: true,
692
+ description: "Pull request number",
693
+ },
694
+ event: {
695
+ type: "string",
696
+ required: true,
697
+ description: "APPROVE, REQUEST_CHANGES, or COMMENT",
698
+ },
441
699
  body: { type: "string", required: false, description: "Review body" },
442
700
  },
443
701
  async execute(input, ctx) {
444
- const { owner, repo, pullNumber, event, body: reviewBody } = input;
702
+ const { owner, repo, pullNumber, event, body: reviewBody, } = input;
445
703
  const b = { event };
446
704
  if (reviewBody)
447
705
  b.body = reviewBody;
@@ -451,14 +709,26 @@ export default function github(rl) {
451
709
  rl.registerAction("review.update", {
452
710
  description: "Update a review",
453
711
  inputSchema: {
454
- owner: { type: "string", required: true, description: "Repository owner" },
712
+ owner: {
713
+ type: "string",
714
+ required: true,
715
+ description: "Repository owner",
716
+ },
455
717
  repo: { type: "string", required: true, description: "Repository name" },
456
- pullNumber: { type: "number", required: true, description: "Pull request number" },
718
+ pullNumber: {
719
+ type: "number",
720
+ required: true,
721
+ description: "Pull request number",
722
+ },
457
723
  reviewId: { type: "number", required: true, description: "Review ID" },
458
- body: { type: "string", required: true, description: "Updated review body" },
724
+ body: {
725
+ type: "string",
726
+ required: true,
727
+ description: "Updated review body",
728
+ },
459
729
  },
460
730
  async execute(input, ctx) {
461
- const { owner, repo, pullNumber, reviewId, body: reviewBody } = input;
731
+ const { owner, repo, pullNumber, reviewId, body: reviewBody, } = input;
462
732
  return gh(ctx, "PUT", `/repos/${owner}/${repo}/pulls/${pullNumber}/reviews/${reviewId}`, { body: reviewBody });
463
733
  },
464
734
  });
@@ -466,10 +736,26 @@ export default function github(rl) {
466
736
  rl.registerAction("user.listRepos", {
467
737
  description: "List repositories for a user",
468
738
  inputSchema: {
469
- username: { type: "string", required: false, description: "Username (omit for authenticated user)" },
470
- type: { type: "string", required: false, description: "all, owner, member" },
471
- sort: { type: "string", required: false, description: "created, updated, pushed, full_name" },
472
- perPage: { type: "number", required: false, description: "Results per page" },
739
+ username: {
740
+ type: "string",
741
+ required: false,
742
+ description: "Username (omit for authenticated user)",
743
+ },
744
+ type: {
745
+ type: "string",
746
+ required: false,
747
+ description: "all, owner, member",
748
+ },
749
+ sort: {
750
+ type: "string",
751
+ required: false,
752
+ description: "created, updated, pushed, full_name",
753
+ },
754
+ perPage: {
755
+ type: "number",
756
+ required: false,
757
+ description: "Results per page",
758
+ },
473
759
  page: { type: "number", required: false, description: "Page number" },
474
760
  },
475
761
  async execute(input, ctx) {
@@ -490,9 +776,21 @@ export default function github(rl) {
490
776
  rl.registerAction("user.listIssues", {
491
777
  description: "List issues assigned to the authenticated user",
492
778
  inputSchema: {
493
- state: { type: "string", required: false, description: "open, closed, or all" },
494
- sort: { type: "string", required: false, description: "created, updated, comments" },
495
- perPage: { type: "number", required: false, description: "Results per page" },
779
+ state: {
780
+ type: "string",
781
+ required: false,
782
+ description: "open, closed, or all",
783
+ },
784
+ sort: {
785
+ type: "string",
786
+ required: false,
787
+ description: "created, updated, comments",
788
+ },
789
+ perPage: {
790
+ type: "number",
791
+ required: false,
792
+ description: "Results per page",
793
+ },
496
794
  },
497
795
  async execute(input, ctx) {
498
796
  const { state, sort, perPage } = (input ?? {});
@@ -509,10 +807,22 @@ export default function github(rl) {
509
807
  rl.registerAction("user.invite", {
510
808
  description: "Invite a user to a repository",
511
809
  inputSchema: {
512
- owner: { type: "string", required: true, description: "Repository owner" },
810
+ owner: {
811
+ type: "string",
812
+ required: true,
813
+ description: "Repository owner",
814
+ },
513
815
  repo: { type: "string", required: true, description: "Repository name" },
514
- username: { type: "string", required: true, description: "Username to invite" },
515
- permission: { type: "string", required: false, description: "pull, push, admin, maintain, triage" },
816
+ username: {
817
+ type: "string",
818
+ required: true,
819
+ description: "Username to invite",
820
+ },
821
+ permission: {
822
+ type: "string",
823
+ required: false,
824
+ description: "pull, push, admin, maintain, triage",
825
+ },
516
826
  },
517
827
  async execute(input, ctx) {
518
828
  const { owner, repo, username, permission } = input;
@@ -527,9 +837,21 @@ export default function github(rl) {
527
837
  description: "List repositories for an organization",
528
838
  inputSchema: {
529
839
  org: { type: "string", required: true, description: "Organization name" },
530
- type: { type: "string", required: false, description: "all, public, private, forks, sources, member" },
531
- sort: { type: "string", required: false, description: "created, updated, pushed, full_name" },
532
- perPage: { type: "number", required: false, description: "Results per page" },
840
+ type: {
841
+ type: "string",
842
+ required: false,
843
+ description: "all, public, private, forks, sources, member",
844
+ },
845
+ sort: {
846
+ type: "string",
847
+ required: false,
848
+ description: "created, updated, pushed, full_name",
849
+ },
850
+ perPage: {
851
+ type: "number",
852
+ required: false,
853
+ description: "Results per page",
854
+ },
533
855
  page: { type: "number", required: false, description: "Page number" },
534
856
  },
535
857
  async execute(input, ctx) {
@@ -550,7 +872,11 @@ export default function github(rl) {
550
872
  rl.registerAction("workflow.list", {
551
873
  description: "List workflows in a repository",
552
874
  inputSchema: {
553
- owner: { type: "string", required: true, description: "Repository owner" },
875
+ owner: {
876
+ type: "string",
877
+ required: true,
878
+ description: "Repository owner",
879
+ },
554
880
  repo: { type: "string", required: true, description: "Repository name" },
555
881
  },
556
882
  async execute(input, ctx) {
@@ -562,9 +888,17 @@ export default function github(rl) {
562
888
  rl.registerAction("workflow.get", {
563
889
  description: "Get a workflow",
564
890
  inputSchema: {
565
- owner: { type: "string", required: true, description: "Repository owner" },
891
+ owner: {
892
+ type: "string",
893
+ required: true,
894
+ description: "Repository owner",
895
+ },
566
896
  repo: { type: "string", required: true, description: "Repository name" },
567
- workflowId: { type: "string", required: true, description: "Workflow ID or filename" },
897
+ workflowId: {
898
+ type: "string",
899
+ required: true,
900
+ description: "Workflow ID or filename",
901
+ },
568
902
  },
569
903
  async execute(input, ctx) {
570
904
  const { owner, repo, workflowId } = input;
@@ -574,11 +908,27 @@ export default function github(rl) {
574
908
  rl.registerAction("workflow.dispatch", {
575
909
  description: "Trigger a workflow dispatch event",
576
910
  inputSchema: {
577
- owner: { type: "string", required: true, description: "Repository owner" },
911
+ owner: {
912
+ type: "string",
913
+ required: true,
914
+ description: "Repository owner",
915
+ },
578
916
  repo: { type: "string", required: true, description: "Repository name" },
579
- workflowId: { type: "string", required: true, description: "Workflow ID or filename" },
580
- ref: { type: "string", required: true, description: "Branch or tag to run on" },
581
- inputs: { type: "object", required: false, description: "Workflow input parameters" },
917
+ workflowId: {
918
+ type: "string",
919
+ required: true,
920
+ description: "Workflow ID or filename",
921
+ },
922
+ ref: {
923
+ type: "string",
924
+ required: true,
925
+ description: "Branch or tag to run on",
926
+ },
927
+ inputs: {
928
+ type: "object",
929
+ required: false,
930
+ description: "Workflow input parameters",
931
+ },
582
932
  },
583
933
  async execute(input, ctx) {
584
934
  const { owner, repo, workflowId, ref, inputs } = input;
@@ -592,9 +942,17 @@ export default function github(rl) {
592
942
  rl.registerAction("workflow.enable", {
593
943
  description: "Enable a workflow",
594
944
  inputSchema: {
595
- owner: { type: "string", required: true, description: "Repository owner" },
945
+ owner: {
946
+ type: "string",
947
+ required: true,
948
+ description: "Repository owner",
949
+ },
596
950
  repo: { type: "string", required: true, description: "Repository name" },
597
- workflowId: { type: "string", required: true, description: "Workflow ID" },
951
+ workflowId: {
952
+ type: "string",
953
+ required: true,
954
+ description: "Workflow ID",
955
+ },
598
956
  },
599
957
  async execute(input, ctx) {
600
958
  const { owner, repo, workflowId } = input;
@@ -605,9 +963,17 @@ export default function github(rl) {
605
963
  rl.registerAction("workflow.disable", {
606
964
  description: "Disable a workflow",
607
965
  inputSchema: {
608
- owner: { type: "string", required: true, description: "Repository owner" },
966
+ owner: {
967
+ type: "string",
968
+ required: true,
969
+ description: "Repository owner",
970
+ },
609
971
  repo: { type: "string", required: true, description: "Repository name" },
610
- workflowId: { type: "string", required: true, description: "Workflow ID" },
972
+ workflowId: {
973
+ type: "string",
974
+ required: true,
975
+ description: "Workflow ID",
976
+ },
611
977
  },
612
978
  async execute(input, ctx) {
613
979
  const { owner, repo, workflowId } = input;
@@ -618,9 +984,17 @@ export default function github(rl) {
618
984
  rl.registerAction("workflow.getUsage", {
619
985
  description: "Get workflow usage billing",
620
986
  inputSchema: {
621
- owner: { type: "string", required: true, description: "Repository owner" },
987
+ owner: {
988
+ type: "string",
989
+ required: true,
990
+ description: "Repository owner",
991
+ },
622
992
  repo: { type: "string", required: true, description: "Repository name" },
623
- workflowId: { type: "string", required: true, description: "Workflow ID" },
993
+ workflowId: {
994
+ type: "string",
995
+ required: true,
996
+ description: "Workflow ID",
997
+ },
624
998
  },
625
999
  async execute(input, ctx) {
626
1000
  const { owner, repo, workflowId } = input;