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
@@ -10,7 +10,10 @@ async function apiRequest(server, token, method, endpoint, body, qs) {
10
10
  method,
11
11
  headers: { "PRIVATE-TOKEN": token, "Content-Type": "application/json" },
12
12
  };
13
- if (body && Object.keys(body).length > 0 && method !== "GET" && method !== "DELETE") {
13
+ if (body &&
14
+ Object.keys(body).length > 0 &&
15
+ method !== "GET" &&
16
+ method !== "DELETE") {
14
17
  opts.body = JSON.stringify(body);
15
18
  }
16
19
  const res = await fetch(url.toString(), opts);
@@ -37,23 +40,54 @@ export default function gitlab(rl) {
37
40
  rl.setName("gitlab");
38
41
  rl.setVersion("0.1.0");
39
42
  rl.setConnectionSchema({
40
- server: { type: "string", required: false, description: "GitLab server URL (default: https://gitlab.com)", env: "GITLAB_SERVER", default: "https://gitlab.com" },
41
- token: { type: "string", required: true, description: "GitLab personal access token", env: "GITLAB_TOKEN" },
43
+ server: {
44
+ type: "string",
45
+ required: false,
46
+ description: "GitLab server URL (default: https://gitlab.com)",
47
+ env: "GITLAB_SERVER",
48
+ default: "https://gitlab.com",
49
+ },
50
+ token: {
51
+ type: "string",
52
+ required: true,
53
+ description: "GitLab personal access token",
54
+ env: "GITLAB_TOKEN",
55
+ },
42
56
  });
43
57
  // ── Issue ───────────────────────────────────────────
44
58
  rl.registerAction("issue.create", {
45
59
  description: "Create an issue",
46
60
  inputSchema: {
47
- owner: { type: "string", required: true, description: "Group/user namespace" },
61
+ owner: {
62
+ type: "string",
63
+ required: true,
64
+ description: "Group/user namespace",
65
+ },
48
66
  repo: { type: "string", required: true, description: "Project name" },
49
67
  title: { type: "string", required: true, description: "Issue title" },
50
- description: { type: "string", required: false, description: "Issue description (markdown)" },
51
- labels: { type: "string", required: false, description: "Comma-separated labels" },
52
- assigneeIds: { type: "array", required: false, description: "Array of assignee user IDs" },
53
- dueDate: { type: "string", required: false, description: "Due date (YYYY-MM-DD)" },
68
+ description: {
69
+ type: "string",
70
+ required: false,
71
+ description: "Issue description (markdown)",
72
+ },
73
+ labels: {
74
+ type: "string",
75
+ required: false,
76
+ description: "Comma-separated labels",
77
+ },
78
+ assigneeIds: {
79
+ type: "array",
80
+ required: false,
81
+ description: "Array of assignee user IDs",
82
+ },
83
+ dueDate: {
84
+ type: "string",
85
+ required: false,
86
+ description: "Due date (YYYY-MM-DD)",
87
+ },
54
88
  },
55
89
  async execute(input, ctx) {
56
- const { owner, repo, title, description: desc, labels, assigneeIds, dueDate } = input;
90
+ const { owner, repo, title, description: desc, labels, assigneeIds, dueDate, } = input;
57
91
  const body = { title };
58
92
  if (desc)
59
93
  body.description = desc;
@@ -85,14 +119,30 @@ export default function gitlab(rl) {
85
119
  repo: { type: "string", required: true, description: "Project" },
86
120
  issueIid: { type: "number", required: true, description: "Issue IID" },
87
121
  title: { type: "string", required: false, description: "New title" },
88
- description: { type: "string", required: false, description: "New description" },
89
- labels: { type: "string", required: false, description: "Comma-separated labels" },
90
- assigneeIds: { type: "array", required: false, description: "Assignee IDs" },
91
- stateEvent: { type: "string", required: false, description: "close or reopen" },
122
+ description: {
123
+ type: "string",
124
+ required: false,
125
+ description: "New description",
126
+ },
127
+ labels: {
128
+ type: "string",
129
+ required: false,
130
+ description: "Comma-separated labels",
131
+ },
132
+ assigneeIds: {
133
+ type: "array",
134
+ required: false,
135
+ description: "Assignee IDs",
136
+ },
137
+ stateEvent: {
138
+ type: "string",
139
+ required: false,
140
+ description: "close or reopen",
141
+ },
92
142
  dueDate: { type: "string", required: false, description: "Due date" },
93
143
  },
94
144
  async execute(input, ctx) {
95
- const { owner, repo, issueIid, title, description: desc, labels, assigneeIds, stateEvent, dueDate } = input;
145
+ const { owner, repo, issueIid, title, description: desc, labels, assigneeIds, stateEvent, dueDate, } = input;
96
146
  const body = {};
97
147
  if (title)
98
148
  body.title = title;
@@ -115,10 +165,14 @@ export default function gitlab(rl) {
115
165
  owner: { type: "string", required: true, description: "Namespace" },
116
166
  repo: { type: "string", required: true, description: "Project" },
117
167
  issueIid: { type: "number", required: true, description: "Issue IID" },
118
- body: { type: "string", required: true, description: "Comment body (markdown)" },
168
+ body: {
169
+ type: "string",
170
+ required: true,
171
+ description: "Comment body (markdown)",
172
+ },
119
173
  },
120
174
  async execute(input, ctx) {
121
- const { owner, repo, issueIid, body: noteBody } = input;
175
+ const { owner, repo, issueIid, body: noteBody, } = input;
122
176
  return gl(ctx, "POST", `${projectPath(owner, repo)}/issues/${issueIid}/notes`, { body: noteBody });
123
177
  },
124
178
  });
@@ -138,15 +192,31 @@ export default function gitlab(rl) {
138
192
  rl.registerAction("release.create", {
139
193
  description: "Create a release",
140
194
  inputSchema: {
141
- projectId: { type: "string", required: true, description: "Project ID or path" },
195
+ projectId: {
196
+ type: "string",
197
+ required: true,
198
+ description: "Project ID or path",
199
+ },
142
200
  tagName: { type: "string", required: true, description: "Tag name" },
143
201
  name: { type: "string", required: false, description: "Release name" },
144
- description: { type: "string", required: false, description: "Release notes (markdown)" },
145
- ref: { type: "string", required: false, description: "Commit SHA or branch for new tag" },
146
- milestones: { type: "array", required: false, description: "Milestone titles" },
202
+ description: {
203
+ type: "string",
204
+ required: false,
205
+ description: "Release notes (markdown)",
206
+ },
207
+ ref: {
208
+ type: "string",
209
+ required: false,
210
+ description: "Commit SHA or branch for new tag",
211
+ },
212
+ milestones: {
213
+ type: "array",
214
+ required: false,
215
+ description: "Milestone titles",
216
+ },
147
217
  },
148
218
  async execute(input, ctx) {
149
- const { projectId, tagName, name, description: desc, ref, milestones } = input;
219
+ const { projectId, tagName, name, description: desc, ref, milestones, } = input;
150
220
  const body = { tag_name: tagName };
151
221
  if (name)
152
222
  body.name = name;
@@ -162,7 +232,11 @@ export default function gitlab(rl) {
162
232
  rl.registerAction("release.get", {
163
233
  description: "Get a release by tag",
164
234
  inputSchema: {
165
- projectId: { type: "string", required: true, description: "Project ID or path" },
235
+ projectId: {
236
+ type: "string",
237
+ required: true,
238
+ description: "Project ID or path",
239
+ },
166
240
  tagName: { type: "string", required: true, description: "Tag name" },
167
241
  },
168
242
  async execute(input, ctx) {
@@ -173,9 +247,17 @@ export default function gitlab(rl) {
173
247
  rl.registerAction("release.list", {
174
248
  description: "List releases",
175
249
  inputSchema: {
176
- projectId: { type: "string", required: true, description: "Project ID or path" },
250
+ projectId: {
251
+ type: "string",
252
+ required: true,
253
+ description: "Project ID or path",
254
+ },
177
255
  limit: { type: "number", required: false, description: "Max results" },
178
- orderBy: { type: "string", required: false, description: "released_at or created_at" },
256
+ orderBy: {
257
+ type: "string",
258
+ required: false,
259
+ description: "released_at or created_at",
260
+ },
179
261
  sort: { type: "string", required: false, description: "asc or desc" },
180
262
  },
181
263
  async execute(input, ctx) {
@@ -193,14 +275,26 @@ export default function gitlab(rl) {
193
275
  rl.registerAction("release.update", {
194
276
  description: "Update a release",
195
277
  inputSchema: {
196
- projectId: { type: "string", required: true, description: "Project ID or path" },
278
+ projectId: {
279
+ type: "string",
280
+ required: true,
281
+ description: "Project ID or path",
282
+ },
197
283
  tagName: { type: "string", required: true, description: "Tag name" },
198
284
  name: { type: "string", required: false, description: "New name" },
199
- description: { type: "string", required: false, description: "New description" },
200
- milestones: { type: "array", required: false, description: "Milestone titles" },
285
+ description: {
286
+ type: "string",
287
+ required: false,
288
+ description: "New description",
289
+ },
290
+ milestones: {
291
+ type: "array",
292
+ required: false,
293
+ description: "Milestone titles",
294
+ },
201
295
  },
202
296
  async execute(input, ctx) {
203
- const { projectId, tagName, name, description: desc, milestones } = input;
297
+ const { projectId, tagName, name, description: desc, milestones, } = input;
204
298
  const body = {};
205
299
  if (name)
206
300
  body.name = name;
@@ -214,7 +308,11 @@ export default function gitlab(rl) {
214
308
  rl.registerAction("release.delete", {
215
309
  description: "Delete a release",
216
310
  inputSchema: {
217
- projectId: { type: "string", required: true, description: "Project ID or path" },
311
+ projectId: {
312
+ type: "string",
313
+ required: true,
314
+ description: "Project ID or path",
315
+ },
218
316
  tagName: { type: "string", required: true, description: "Tag name" },
219
317
  },
220
318
  async execute(input, ctx) {
@@ -240,8 +338,16 @@ export default function gitlab(rl) {
240
338
  inputSchema: {
241
339
  owner: { type: "string", required: true, description: "Namespace" },
242
340
  repo: { type: "string", required: true, description: "Project" },
243
- state: { type: "string", required: false, description: "opened, closed, all" },
244
- labels: { type: "string", required: false, description: "Comma-separated labels" },
341
+ state: {
342
+ type: "string",
343
+ required: false,
344
+ description: "opened, closed, all",
345
+ },
346
+ labels: {
347
+ type: "string",
348
+ required: false,
349
+ description: "Comma-separated labels",
350
+ },
245
351
  limit: { type: "number", required: false, description: "Max results" },
246
352
  },
247
353
  async execute(input, ctx) {
@@ -278,10 +384,14 @@ export default function gitlab(rl) {
278
384
  owner: { type: "string", required: true, description: "Namespace" },
279
385
  repo: { type: "string", required: true, description: "Project" },
280
386
  filePath: { type: "string", required: true, description: "File path" },
281
- ref: { type: "string", required: false, description: "Branch/tag/SHA (default: default branch)" },
387
+ ref: {
388
+ type: "string",
389
+ required: false,
390
+ description: "Branch/tag/SHA (default: default branch)",
391
+ },
282
392
  },
283
393
  async execute(input, ctx) {
284
- const { owner, repo, filePath, ref = "main" } = input;
394
+ const { owner, repo, filePath, ref = "main", } = input;
285
395
  return gl(ctx, "GET", `${projectPath(owner, repo)}/repository/files/${encodeURIComponent(filePath)}`, undefined, { ref });
286
396
  },
287
397
  });
@@ -293,16 +403,44 @@ export default function gitlab(rl) {
293
403
  filePath: { type: "string", required: true, description: "File path" },
294
404
  content: { type: "string", required: true, description: "File content" },
295
405
  branch: { type: "string", required: true, description: "Target branch" },
296
- commitMessage: { type: "string", required: true, description: "Commit message" },
297
- startBranch: { type: "string", required: false, description: "Base branch for new branch" },
298
- encoding: { type: "string", required: false, description: "text (default) or base64" },
299
- authorName: { type: "string", required: false, description: "Commit author name" },
300
- authorEmail: { type: "string", required: false, description: "Commit author email" },
301
- isUpdate: { type: "boolean", required: false, description: "true=PUT (update), false=POST (create, default)" },
406
+ commitMessage: {
407
+ type: "string",
408
+ required: true,
409
+ description: "Commit message",
410
+ },
411
+ startBranch: {
412
+ type: "string",
413
+ required: false,
414
+ description: "Base branch for new branch",
415
+ },
416
+ encoding: {
417
+ type: "string",
418
+ required: false,
419
+ description: "text (default) or base64",
420
+ },
421
+ authorName: {
422
+ type: "string",
423
+ required: false,
424
+ description: "Commit author name",
425
+ },
426
+ authorEmail: {
427
+ type: "string",
428
+ required: false,
429
+ description: "Commit author email",
430
+ },
431
+ isUpdate: {
432
+ type: "boolean",
433
+ required: false,
434
+ description: "true=PUT (update), false=POST (create, default)",
435
+ },
302
436
  },
303
437
  async execute(input, ctx) {
304
- const { owner, repo, filePath, content, branch, commitMessage, startBranch, encoding, authorName, authorEmail, isUpdate } = input;
305
- const body = { branch, commit_message: commitMessage, content };
438
+ const { owner, repo, filePath, content, branch, commitMessage, startBranch, encoding, authorName, authorEmail, isUpdate, } = input;
439
+ const body = {
440
+ branch,
441
+ commit_message: commitMessage,
442
+ content,
443
+ };
306
444
  if (startBranch)
307
445
  body.start_branch = startBranch;
308
446
  if (encoding)
@@ -322,12 +460,17 @@ export default function gitlab(rl) {
322
460
  repo: { type: "string", required: true, description: "Project" },
323
461
  filePath: { type: "string", required: true, description: "File path" },
324
462
  branch: { type: "string", required: true, description: "Branch" },
325
- commitMessage: { type: "string", required: true, description: "Commit message" },
463
+ commitMessage: {
464
+ type: "string",
465
+ required: true,
466
+ description: "Commit message",
467
+ },
326
468
  },
327
469
  async execute(input, ctx) {
328
470
  const { owner, repo, filePath, branch, commitMessage } = input;
329
471
  return gl(ctx, "DELETE", `${projectPath(owner, repo)}/repository/files/${encodeURIComponent(filePath)}`, {
330
- branch, commit_message: commitMessage,
472
+ branch,
473
+ commit_message: commitMessage,
331
474
  });
332
475
  },
333
476
  });
@@ -338,11 +481,16 @@ export default function gitlab(rl) {
338
481
  repo: { type: "string", required: true, description: "Project" },
339
482
  path: { type: "string", required: false, description: "Directory path" },
340
483
  ref: { type: "string", required: false, description: "Branch/tag/SHA" },
341
- recursive: { type: "boolean", required: false, description: "List recursively" },
484
+ recursive: {
485
+ type: "boolean",
486
+ required: false,
487
+ description: "List recursively",
488
+ },
342
489
  limit: { type: "number", required: false, description: "Max results" },
343
490
  },
344
491
  async execute(input, ctx) {
345
- const { owner, repo, path, ref, recursive, limit } = (input ?? {});
492
+ const { owner, repo, path, ref, recursive, limit } = (input ??
493
+ {});
346
494
  const qs = {};
347
495
  if (path)
348
496
  qs.path = path;
@@ -41,15 +41,35 @@ export default function gong(rl) {
41
41
  rl.setName("gong");
42
42
  rl.setVersion("0.1.0");
43
43
  rl.setConnectionSchema({
44
- baseUrl: { type: "string", required: false, description: "Gong API base URL (default: https://api.gong.io)", env: "GONG_BASE_URL", default: "https://api.gong.io" },
45
- accessKey: { type: "string", required: true, description: "Gong API access key", env: "GONG_ACCESS_KEY" },
46
- accessKeySecret: { type: "string", required: true, description: "Gong API access key secret", env: "GONG_ACCESS_KEY_SECRET" },
44
+ baseUrl: {
45
+ type: "string",
46
+ required: false,
47
+ description: "Gong API base URL (default: https://api.gong.io)",
48
+ env: "GONG_BASE_URL",
49
+ default: "https://api.gong.io",
50
+ },
51
+ accessKey: {
52
+ type: "string",
53
+ required: true,
54
+ description: "Gong API access key",
55
+ env: "GONG_ACCESS_KEY",
56
+ },
57
+ accessKeySecret: {
58
+ type: "string",
59
+ required: true,
60
+ description: "Gong API access key secret",
61
+ env: "GONG_ACCESS_KEY_SECRET",
62
+ },
47
63
  });
48
64
  rl.registerAction("call.get", {
49
65
  description: "Get detailed call data",
50
66
  inputSchema: {
51
67
  callId: { type: "string", required: true, description: "Call ID" },
52
- contentSelector: { type: "object", required: false, description: "Content selector for what data to include (exposedFields object)" },
68
+ contentSelector: {
69
+ type: "object",
70
+ required: false,
71
+ description: "Content selector for what data to include (exposedFields object)",
72
+ },
53
73
  },
54
74
  async execute(input, ctx) {
55
75
  const { callId, contentSelector } = input;
@@ -66,14 +86,34 @@ export default function gong(rl) {
66
86
  description: "List calls",
67
87
  inputSchema: {
68
88
  limit: { type: "number", required: false, description: "Max results" },
69
- fromDateTime: { type: "string", required: false, description: "Calls started after (ISO 8601)" },
70
- toDateTime: { type: "string", required: false, description: "Calls started before (ISO 8601)" },
71
- workspaceId: { type: "string", required: false, description: "Filter by workspace" },
72
- callIds: { type: "array", required: false, description: "Specific call IDs" },
73
- primaryUserIds: { type: "array", required: false, description: "Filter by organizer user IDs" },
89
+ fromDateTime: {
90
+ type: "string",
91
+ required: false,
92
+ description: "Calls started after (ISO 8601)",
93
+ },
94
+ toDateTime: {
95
+ type: "string",
96
+ required: false,
97
+ description: "Calls started before (ISO 8601)",
98
+ },
99
+ workspaceId: {
100
+ type: "string",
101
+ required: false,
102
+ description: "Filter by workspace",
103
+ },
104
+ callIds: {
105
+ type: "array",
106
+ required: false,
107
+ description: "Specific call IDs",
108
+ },
109
+ primaryUserIds: {
110
+ type: "array",
111
+ required: false,
112
+ description: "Filter by organizer user IDs",
113
+ },
74
114
  },
75
115
  async execute(input, ctx) {
76
- const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds } = (input ?? {});
116
+ const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds, } = (input ?? {});
77
117
  const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
78
118
  const filter = {};
79
119
  if (fromDateTime)
@@ -91,7 +131,9 @@ export default function gong(rl) {
91
131
  });
92
132
  rl.registerAction("user.get", {
93
133
  description: "Get a user",
94
- inputSchema: { userId: { type: "string", required: true, description: "User ID" } },
134
+ inputSchema: {
135
+ userId: { type: "string", required: true, description: "User ID" },
136
+ },
95
137
  async execute(input, ctx) {
96
138
  const { userId } = input;
97
139
  const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
@@ -106,9 +148,21 @@ export default function gong(rl) {
106
148
  description: "List users",
107
149
  inputSchema: {
108
150
  limit: { type: "number", required: false, description: "Max results" },
109
- createdFromDateTime: { type: "string", required: false, description: "Users created after (ISO 8601)" },
110
- createdToDateTime: { type: "string", required: false, description: "Users created before (ISO 8601)" },
111
- userIds: { type: "array", required: false, description: "Specific user IDs" },
151
+ createdFromDateTime: {
152
+ type: "string",
153
+ required: false,
154
+ description: "Users created after (ISO 8601)",
155
+ },
156
+ createdToDateTime: {
157
+ type: "string",
158
+ required: false,
159
+ description: "Users created before (ISO 8601)",
160
+ },
161
+ userIds: {
162
+ type: "array",
163
+ required: false,
164
+ description: "Specific user IDs",
165
+ },
112
166
  },
113
167
  async execute(input, ctx) {
114
168
  const { limit, createdFromDateTime, createdToDateTime, userIds } = (input ?? {});
@@ -8,9 +8,16 @@ async function apiRequest(url, token, method, endpoint, body, qs) {
8
8
  }
9
9
  const opts = {
10
10
  method,
11
- headers: { "X-Gotify-Key": token, Accept: "application/json", "Content-Type": "application/json" },
11
+ headers: {
12
+ "X-Gotify-Key": token,
13
+ Accept: "application/json",
14
+ "Content-Type": "application/json",
15
+ },
12
16
  };
13
- if (body && Object.keys(body).length > 0 && method !== "GET" && method !== "DELETE") {
17
+ if (body &&
18
+ Object.keys(body).length > 0 &&
19
+ method !== "GET" &&
20
+ method !== "DELETE") {
14
21
  opts.body = JSON.stringify(body);
15
22
  }
16
23
  const res = await fetch(fullUrl.toString(), opts);
@@ -24,17 +31,40 @@ export default function gotify(rl) {
24
31
  rl.setName("gotify");
25
32
  rl.setVersion("0.1.0");
26
33
  rl.setConnectionSchema({
27
- url: { type: "string", required: true, description: "Gotify server URL (e.g. https://gotify.example.com)", env: "GOTIFY_URL" },
28
- appApiToken: { type: "string", required: true, description: "Application token (for sending messages)", env: "GOTIFY_APP_TOKEN" },
29
- clientApiToken: { type: "string", required: true, description: "Client token (for reading/deleting)", env: "GOTIFY_CLIENT_TOKEN" },
34
+ url: {
35
+ type: "string",
36
+ required: true,
37
+ description: "Gotify server URL (e.g. https://gotify.example.com)",
38
+ env: "GOTIFY_URL",
39
+ },
40
+ appApiToken: {
41
+ type: "string",
42
+ required: true,
43
+ description: "Application token (for sending messages)",
44
+ env: "GOTIFY_APP_TOKEN",
45
+ },
46
+ clientApiToken: {
47
+ type: "string",
48
+ required: true,
49
+ description: "Client token (for reading/deleting)",
50
+ env: "GOTIFY_CLIENT_TOKEN",
51
+ },
30
52
  });
31
53
  rl.registerAction("message.create", {
32
54
  description: "Send a push message",
33
55
  inputSchema: {
34
56
  message: { type: "string", required: true, description: "Message text" },
35
57
  title: { type: "string", required: false, description: "Message title" },
36
- priority: { type: "number", required: false, description: "Priority (default: 1)" },
37
- contentType: { type: "string", required: false, description: "text/plain (default) or text/markdown" },
58
+ priority: {
59
+ type: "number",
60
+ required: false,
61
+ description: "Priority (default: 1)",
62
+ },
63
+ contentType: {
64
+ type: "string",
65
+ required: false,
66
+ description: "text/plain (default) or text/markdown",
67
+ },
38
68
  },
39
69
  async execute(input, ctx) {
40
70
  const { message, title, priority, contentType } = input;
@@ -52,7 +82,9 @@ export default function gotify(rl) {
52
82
  });
53
83
  rl.registerAction("message.delete", {
54
84
  description: "Delete a message",
55
- inputSchema: { messageId: { type: "string", required: true, description: "Message ID" } },
85
+ inputSchema: {
86
+ messageId: { type: "string", required: true, description: "Message ID" },
87
+ },
56
88
  async execute(input, ctx) {
57
89
  const url = ctx.connection.config.url.replace(/\/$/, "");
58
90
  const token = ctx.connection.config.clientApiToken;
@@ -62,7 +94,9 @@ export default function gotify(rl) {
62
94
  });
63
95
  rl.registerAction("message.list", {
64
96
  description: "List messages",
65
- inputSchema: { limit: { type: "number", required: false, description: "Max results" } },
97
+ inputSchema: {
98
+ limit: { type: "number", required: false, description: "Max results" },
99
+ },
66
100
  async execute(input, ctx) {
67
101
  const { limit } = (input ?? {});
68
102
  const url = ctx.connection.config.url.replace(/\/$/, "");