runline 0.11.5 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/commands/actions.js +3 -1
  2. package/dist/core/engine.js +3 -0
  3. package/dist/index.d.ts +1 -1
  4. package/dist/plugin/api.d.ts +2 -1
  5. package/dist/plugin/types.d.ts +2 -0
  6. package/dist/plugins/actionNetwork/src/index.js +23 -0
  7. package/dist/plugins/activeCampaign/src/index.js +48 -0
  8. package/dist/plugins/adalo/src/index.js +5 -0
  9. package/dist/plugins/affinity/src/index.js +16 -0
  10. package/dist/plugins/agileCrm/src/index.js +15 -0
  11. package/dist/plugins/airtable/src/index.js +10 -0
  12. package/dist/plugins/airtop/src/index.js +24 -0
  13. package/dist/plugins/apiTemplateIo/src/index.js +4 -0
  14. package/dist/plugins/asana/src/index.js +22 -0
  15. package/dist/plugins/autopilot/src/index.js +11 -0
  16. package/dist/plugins/bambooHr/src/index.js +11 -0
  17. package/dist/plugins/bannerbear/src/index.js +4 -0
  18. package/dist/plugins/baserow/src/index.js +8 -0
  19. package/dist/plugins/beeminder/src/index.js +18 -0
  20. package/dist/plugins/bitly/src/index.js +3 -0
  21. package/dist/plugins/bitwarden/src/index.js +19 -0
  22. package/dist/plugins/box/src/index.js +11 -0
  23. package/dist/plugins/brandfetch/src/index.js +5 -0
  24. package/dist/plugins/brevo/src/index.js +15 -0
  25. package/dist/plugins/bubble/src/index.js +5 -0
  26. package/dist/plugins/chargebee/src/index.js +5 -0
  27. package/dist/plugins/circleci/src/index.js +3 -0
  28. package/dist/plugins/ciscoWebex/src/index.js +10 -0
  29. package/dist/plugins/clearbit/src/index.js +3 -0
  30. package/dist/plugins/clickup/src/index.js +61 -0
  31. package/dist/plugins/clockify/src/index.js +25 -0
  32. package/dist/plugins/cloudflare/src/index.js +4 -0
  33. package/dist/plugins/cockpit/src/index.js +5 -0
  34. package/dist/plugins/coda/src/index.js +18 -0
  35. package/dist/plugins/coingecko/src/index.js +10 -0
  36. package/dist/plugins/contentful/src/index.js +7 -0
  37. package/dist/plugins/convertkit/src/index.js +16 -0
  38. package/dist/plugins/copper/src/index.js +7 -0
  39. package/dist/plugins/cortex/src/index.js +4 -0
  40. package/dist/plugins/currents/src/index.js +22 -0
  41. package/dist/plugins/customerIo/src/index.js +9 -0
  42. package/dist/plugins/databricks/src/index.js +34 -0
  43. package/dist/plugins/deepl/src/index.js +2 -0
  44. package/dist/plugins/demio/src/index.js +4 -0
  45. package/dist/plugins/dhl/src/index.js +1 -0
  46. package/dist/plugins/discord/src/index.js +13 -0
  47. package/dist/plugins/discourse/src/index.js +16 -0
  48. package/dist/plugins/disqus/src/index.js +4 -0
  49. package/dist/plugins/docker/src/index.js +5 -0
  50. package/dist/plugins/drift/src/index.js +5 -0
  51. package/dist/plugins/dropbox/src/index.js +9 -0
  52. package/dist/plugins/dropcontact/src/index.js +2 -0
  53. package/dist/plugins/egoi/src/index.js +4 -0
  54. package/dist/plugins/elasticsearch/src/index.js +9 -0
  55. package/dist/plugins/emelia/src/index.js +9 -0
  56. package/dist/plugins/erpnext/src/index.js +5 -0
  57. package/dist/plugins/facebookGraph/src/index.js +1 -0
  58. package/dist/plugins/freshdesk/src/index.js +10 -0
  59. package/dist/plugins/freshservice/src/index.js +7 -0
  60. package/dist/plugins/freshworksCrm/src/index.js +7 -0
  61. package/dist/plugins/getresponse/src/index.js +5 -0
  62. package/dist/plugins/ghost/src/index.js +5 -0
  63. package/dist/plugins/github/src/index.js +37 -0
  64. package/dist/plugins/gitlab/src/index.js +17 -0
  65. package/dist/plugins/gmail/src/index.js +32 -0
  66. package/dist/plugins/gong/src/index.js +4 -0
  67. package/dist/plugins/googleAppsScript/src/index.js +10 -0
  68. package/dist/plugins/googleCalendar/src/index.js +22 -0
  69. package/dist/plugins/googleContacts/src/index.js +10 -0
  70. package/dist/plugins/googleDocs/src/documents.js +4 -0
  71. package/dist/plugins/googleDocs/src/formatting.js +2 -0
  72. package/dist/plugins/googleDocs/src/images.js +2 -0
  73. package/dist/plugins/googleDocs/src/structure.js +13 -0
  74. package/dist/plugins/googleDocs/src/tables.js +11 -0
  75. package/dist/plugins/googleDocs/src/tabs.js +3 -0
  76. package/dist/plugins/googleDocs/src/text.js +9 -0
  77. package/dist/plugins/googleDrive/src/index.js +47 -0
  78. package/dist/plugins/googleImage/src/index.js +1 -0
  79. package/dist/plugins/googleSheets/src/index.js +23 -0
  80. package/dist/plugins/googleSlides/src/index.js +7 -0
  81. package/dist/plugins/googleTasks/src/index.js +12 -0
  82. package/dist/plugins/gotify/src/index.js +3 -0
  83. package/dist/plugins/gotowebinar/src/index.js +20 -0
  84. package/dist/plugins/grafana/src/index.js +17 -0
  85. package/dist/plugins/graphql/src/index.js +2 -0
  86. package/dist/plugins/grist/src/index.js +4 -0
  87. package/dist/plugins/hackernews/src/index.js +6 -0
  88. package/dist/plugins/halopsa/src/index.js +5 -0
  89. package/dist/plugins/harvest/src/index.js +14 -0
  90. package/dist/plugins/helpscout/src/index.js +13 -0
  91. package/dist/plugins/highlevel/src/index.js +17 -0
  92. package/dist/plugins/homeAssistant/src/index.js +13 -0
  93. package/dist/plugins/hubspot/src/index.js +14 -0
  94. package/dist/plugins/humanticAi/src/index.js +3 -0
  95. package/dist/plugins/hunter/src/index.js +3 -0
  96. package/dist/plugins/intercom/src/index.js +10 -0
  97. package/dist/plugins/iterable/src/index.js +6 -0
  98. package/dist/plugins/jenkins/src/index.js +11 -0
  99. package/dist/plugins/jira/src/index.js +16 -0
  100. package/dist/plugins/keap/src/index.js +28 -0
  101. package/dist/plugins/kobotoolbox/src/index.js +17 -0
  102. package/dist/plugins/lemlist/src/index.js +15 -0
  103. package/dist/plugins/linear/src/attachments.js +6 -0
  104. package/dist/plugins/linear/src/comments.js +5 -0
  105. package/dist/plugins/linear/src/cycles.js +2 -0
  106. package/dist/plugins/linear/src/initiatives.js +5 -0
  107. package/dist/plugins/linear/src/issues.js +14 -0
  108. package/dist/plugins/linear/src/labels.js +5 -0
  109. package/dist/plugins/linear/src/organization.js +1 -0
  110. package/dist/plugins/linear/src/projects.js +11 -0
  111. package/dist/plugins/linear/src/shared.js +2 -0
  112. package/dist/plugins/linear/src/states.js +2 -0
  113. package/dist/plugins/linear/src/teams.js +3 -0
  114. package/dist/plugins/linear/src/users.js +2 -0
  115. package/dist/plugins/linear/src/views.js +4 -0
  116. package/dist/plugins/linear/src/webhooks.js +4 -0
  117. package/dist/plugins/lingvanex/src/index.js +1 -0
  118. package/dist/plugins/linkedin/src/index.js +1 -0
  119. package/dist/plugins/lonescale/src/index.js +4 -0
  120. package/dist/plugins/magento/src/index.js +15 -0
  121. package/dist/plugins/mailcheck/src/index.js +1 -0
  122. package/dist/plugins/mailchimp/src/index.js +14 -0
  123. package/dist/plugins/mailerlite/src/index.js +4 -0
  124. package/dist/plugins/mailgun/src/index.js +1 -0
  125. package/dist/plugins/mailjet/src/index.js +3 -0
  126. package/dist/plugins/mandrill/src/index.js +2 -0
  127. package/dist/plugins/marketstack/src/index.js +3 -0
  128. package/dist/plugins/matrix/src/index.js +10 -0
  129. package/dist/plugins/mattermost/src/index.js +19 -0
  130. package/dist/plugins/mautic/src/index.js +20 -0
  131. package/dist/plugins/medium/src/index.js +3 -0
  132. package/dist/plugins/messagebird/src/index.js +2 -0
  133. package/dist/plugins/metabase/src/index.js +10 -0
  134. package/dist/plugins/microsoftCalendar/src/index.js +2 -0
  135. package/dist/plugins/microsoftFiles/src/index.js +5 -0
  136. package/dist/plugins/microsoftMail/src/index.js +4 -0
  137. package/dist/plugins/misp/src/index.js +44 -0
  138. package/dist/plugins/mocean/src/index.js +2 -0
  139. package/dist/plugins/monday/src/index.js +18 -0
  140. package/dist/plugins/monicaCrm/src/index.js +5 -0
  141. package/dist/plugins/msg91/src/index.js +1 -0
  142. package/dist/plugins/nasa/src/index.js +7 -0
  143. package/dist/plugins/netlify/src/index.js +7 -0
  144. package/dist/plugins/netscalerAdc/src/index.js +3 -0
  145. package/dist/plugins/nextcloud/src/index.js +13 -0
  146. package/dist/plugins/nocodb/src/index.js +5 -0
  147. package/dist/plugins/node/src/index.js +38 -0
  148. package/dist/plugins/notion/src/index.js +14 -0
  149. package/dist/plugins/npm/src/index.js +5 -0
  150. package/dist/plugins/odoo/src/index.js +6 -0
  151. package/dist/plugins/okta/src/index.js +5 -0
  152. package/dist/plugins/oneSimpleApi/src/index.js +10 -0
  153. package/dist/plugins/onfleet/src/index.js +24 -0
  154. package/dist/plugins/openThesaurus/src/index.js +1 -0
  155. package/dist/plugins/openai/src/index.js +1 -0
  156. package/dist/plugins/openweathermap/src/index.js +2 -0
  157. package/dist/plugins/oura/src/index.js +2 -0
  158. package/dist/plugins/paddle/src/index.js +9 -0
  159. package/dist/plugins/pagerduty/src/index.js +9 -0
  160. package/dist/plugins/parallel/src/index.js +1 -0
  161. package/dist/plugins/paypal/src/index.js +4 -0
  162. package/dist/plugins/peekalink/src/index.js +2 -0
  163. package/dist/plugins/phantombuster/src/index.js +5 -0
  164. package/dist/plugins/philipsHue/src/index.js +4 -0
  165. package/dist/plugins/pipedrive/src/index.js +14 -0
  166. package/dist/plugins/plivo/src/index.js +3 -0
  167. package/dist/plugins/postbin/src/index.js +6 -0
  168. package/dist/plugins/posthog/src/index.js +5 -0
  169. package/dist/plugins/profitwell/src/index.js +2 -0
  170. package/dist/plugins/pushbullet/src/index.js +4 -0
  171. package/dist/plugins/pushcut/src/index.js +1 -0
  172. package/dist/plugins/pushover/src/index.js +1 -0
  173. package/dist/plugins/quickbase/src/index.js +8 -0
  174. package/dist/plugins/quickbooks/src/index.js +5 -0
  175. package/dist/plugins/quickchart/src/index.js +1 -0
  176. package/dist/plugins/raindrop/src/index.js +13 -0
  177. package/dist/plugins/recraft/src/index.js +1 -0
  178. package/dist/plugins/reddit/src/index.js +10 -0
  179. package/dist/plugins/replicate/src/index.js +1 -0
  180. package/dist/plugins/rocketchat/src/index.js +1 -0
  181. package/dist/plugins/rundeck/src/index.js +2 -0
  182. package/dist/plugins/salesforce/src/metadata.js +4 -0
  183. package/dist/plugins/salesforce/src/query.js +5 -0
  184. package/dist/plugins/salesforce/src/sobjects.js +12 -0
  185. package/dist/plugins/salesmate/src/index.js +5 -0
  186. package/dist/plugins/securityScorecard/src/index.js +14 -0
  187. package/dist/plugins/segment/src/index.js +4 -0
  188. package/dist/plugins/sendgrid/src/index.js +10 -0
  189. package/dist/plugins/sendy/src/index.js +6 -0
  190. package/dist/plugins/sentry/src/index.js +24 -0
  191. package/dist/plugins/servicenow/src/index.js +10 -0
  192. package/dist/plugins/shiftLabs/src/index.js +15 -0
  193. package/dist/plugins/shiftLabs/src/issues.js +74 -0
  194. package/dist/plugins/shiftLabs/src/pages.js +148 -0
  195. package/dist/plugins/shiftLabs/src/shared.js +69 -0
  196. package/dist/plugins/shopify/src/index.js +10 -0
  197. package/dist/plugins/signl4/src/index.js +2 -0
  198. package/dist/plugins/slack/src/index.js +38 -0
  199. package/dist/plugins/sms77/src/index.js +2 -0
  200. package/dist/plugins/splunk/src/index.js +16 -0
  201. package/dist/plugins/spotify/src/index.js +30 -0
  202. package/dist/plugins/stackby/src/index.js +4 -0
  203. package/dist/plugins/steel/src/browser.js +7 -0
  204. package/dist/plugins/steel/src/captchas.js +3 -0
  205. package/dist/plugins/steel/src/credentials.js +4 -0
  206. package/dist/plugins/steel/src/extensions.js +5 -0
  207. package/dist/plugins/steel/src/files.js +10 -0
  208. package/dist/plugins/steel/src/profiles.js +4 -0
  209. package/dist/plugins/steel/src/sessions.js +11 -0
  210. package/dist/plugins/storyblok/src/index.js +7 -0
  211. package/dist/plugins/strapi/src/index.js +5 -0
  212. package/dist/plugins/strava/src/index.js +6 -0
  213. package/dist/plugins/stripe/src/index.js +20 -0
  214. package/dist/plugins/supabase/src/index.js +5 -0
  215. package/dist/plugins/syncromsp/src/index.js +20 -0
  216. package/dist/plugins/tapfiliate/src/index.js +11 -0
  217. package/dist/plugins/telegram/src/index.js +21 -0
  218. package/dist/plugins/thehive/src/index.js +23 -0
  219. package/dist/plugins/thehiveProject/src/index.js +31 -0
  220. package/dist/plugins/todoist/src/index.js +31 -0
  221. package/dist/plugins/together/src/index.js +1 -0
  222. package/dist/plugins/travisci/src/index.js +5 -0
  223. package/dist/plugins/trello/src/index.js +37 -0
  224. package/dist/plugins/twake/src/index.js +1 -0
  225. package/dist/plugins/twilio/src/index.js +2 -0
  226. package/dist/plugins/twist/src/index.js +22 -0
  227. package/dist/plugins/twitter/src/index.js +8 -0
  228. package/dist/plugins/unleashedSoftware/src/index.js +3 -0
  229. package/dist/plugins/uplead/src/index.js +2 -0
  230. package/dist/plugins/uproc/src/index.js +1 -0
  231. package/dist/plugins/uptimerobot/src/index.js +22 -0
  232. package/dist/plugins/urlscanio/src/index.js +3 -0
  233. package/dist/plugins/vercel/src/account.js +1 -0
  234. package/dist/plugins/vercel/src/deployments.js +5 -0
  235. package/dist/plugins/vercel/src/env.js +4 -0
  236. package/dist/plugins/vercel/src/projects.js +2 -0
  237. package/dist/plugins/vercel/src/shared.js +1 -0
  238. package/dist/plugins/vero/src/index.js +6 -0
  239. package/dist/plugins/vonage/src/index.js +1 -0
  240. package/dist/plugins/wekan/src/index.js +24 -0
  241. package/dist/plugins/woocommerce/src/index.js +5 -0
  242. package/dist/plugins/wordpress/src/index.js +10 -0
  243. package/dist/plugins/xai/src/index.js +1 -0
  244. package/dist/plugins/xero/src/index.js +8 -0
  245. package/dist/plugins/yourls/src/index.js +3 -0
  246. package/dist/plugins/zammad/src/index.js +12 -0
  247. package/dist/plugins/zendesk/src/index.js +18 -0
  248. package/dist/plugins/zoho/src/index.js +6 -0
  249. package/dist/plugins/zoom/src/index.js +5 -0
  250. package/dist/plugins/zulip/src/index.js +15 -0
  251. package/dist/sdk.d.ts +2 -1
  252. package/dist/sdk.js +1 -0
  253. package/package.json +1 -1
@@ -16,6 +16,7 @@ export async function actions(options) {
16
16
  printJson(filtered.map(({ plugin, action }) => ({
17
17
  plugin,
18
18
  action: action.name,
19
+ access: action.access,
19
20
  description: action.description,
20
21
  inputSchema: action.inputSchema,
21
22
  })));
@@ -41,6 +42,7 @@ export async function actions(options) {
41
42
  console.log(chalk.bold(`\n${plugin}`));
42
43
  for (const { action } of entries) {
43
44
  const path = chalk.cyan(`${plugin}.${action.name}`);
45
+ const access = action.access ? chalk.dim(` [${action.access}]`) : "";
44
46
  const desc = action.description
45
47
  ? chalk.dim(` — ${action.description}`)
46
48
  : "";
@@ -49,7 +51,7 @@ export async function actions(options) {
49
51
  .map(([k, v]) => `${k}: ${v.type}${v.required ? "" : "?"}`)
50
52
  .join(", ")})`)
51
53
  : "";
52
- console.log(` ${path}${schema}${desc}`);
54
+ console.log(` ${path}${access}${schema}${desc}`);
53
55
  }
54
56
  }
55
57
  console.log();
@@ -229,6 +229,7 @@ function buildHelpData(plugins) {
229
229
  for (const p of plugins) {
230
230
  data[p.name] = p.actions.map((a) => ({
231
231
  action: a.name,
232
+ access: a.access,
232
233
  description: a.description,
233
234
  inputs: helpInputs(a.inputSchema),
234
235
  }));
@@ -381,6 +382,7 @@ const __actionsApi = {
381
382
  path,
382
383
  plugin: hit.plugin,
383
384
  action: hit.entry.action,
385
+ access: hit.entry.access,
384
386
  description: hit.entry.description,
385
387
  signature: __formatSignature(hit.plugin, hit.entry),
386
388
  inputs: hit.entry.inputs,
@@ -391,6 +393,7 @@ const __actionsApi = {
391
393
  if (!q) return [];
392
394
  return __search.search(q).slice(0, limit).map((r) => ({
393
395
  path: r.path,
396
+ access: __index[r.path]?.entry?.access,
394
397
  description: r.description || undefined,
395
398
  score: r.score,
396
399
  }));
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export type { InstalledPlugin, PluginSource } from "./plugin/installer.js";
11
11
  export { installPlugin, listInstalled, parsePluginSource, removePlugin, } from "./plugin/installer.js";
12
12
  export { discoverPlugins, loadAllPlugins, loadPluginFromPath, loadPluginsFromConfig, } from "./plugin/loader.js";
13
13
  export { PluginRegistry, registry } from "./plugin/registry.js";
14
- export type { ActionContext, ActionDef, ConnectionConfig, ConnectionSchema, ConnectionSchemaField, InputField, InputSchema, LegacyConnectionSchema, OAuthConfig, PluginDef, } from "./plugin/types.js";
14
+ export type { ActionAccess, ActionContext, ActionDef, ConnectionConfig, ConnectionSchema, ConnectionSchemaField, InputField, InputSchema, LegacyConnectionSchema, OAuthConfig, PluginDef, } from "./plugin/types.js";
15
15
  export type { RunlineExecuteOptions, RunlineOptions } from "./sdk.js";
16
16
  export { Runline } from "./sdk.js";
17
17
  export type { ExecOptions, ExecResult, OutputParser } from "./utils/cli.js";
@@ -1,5 +1,6 @@
1
- import type { ActionDef, ConnectionSchema, InputSchema, OAuthConfig, PluginDef } from "./types.js";
1
+ import type { ActionAccess, ActionDef, ConnectionSchema, InputSchema, OAuthConfig, PluginDef } from "./types.js";
2
2
  export interface ActionDefinition {
3
+ access?: ActionAccess;
3
4
  description?: string;
4
5
  inputSchema?: InputSchema;
5
6
  execute: ActionDef["execute"];
@@ -25,8 +25,10 @@ export interface HelpInput {
25
25
  enum?: unknown[];
26
26
  const?: unknown;
27
27
  }
28
+ export type ActionAccess = "read" | "write";
28
29
  export interface ActionDef {
29
30
  name: string;
31
+ access?: ActionAccess;
30
32
  description?: string;
31
33
  inputSchema?: InputSchema;
32
34
  execute: (input: unknown, ctx: ActionContext) => unknown | Promise<unknown>;
@@ -54,6 +54,7 @@ export default function actionNetwork(rl) {
54
54
  });
55
55
  // ── Attendance ──────────────────────────────────────
56
56
  rl.registerAction("attendance.create", {
57
+ access: "write",
57
58
  description: "Record a person's attendance at an event",
58
59
  inputSchema: {
59
60
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -72,6 +73,7 @@ export default function actionNetwork(rl) {
72
73
  },
73
74
  });
74
75
  rl.registerAction("attendance.get", {
76
+ access: "read",
75
77
  description: "Get a specific attendance record",
76
78
  inputSchema: {
77
79
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -87,6 +89,7 @@ export default function actionNetwork(rl) {
87
89
  },
88
90
  });
89
91
  rl.registerAction("attendance.list", {
92
+ access: "read",
90
93
  description: "List attendances for an event",
91
94
  inputSchema: {
92
95
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -103,6 +106,7 @@ export default function actionNetwork(rl) {
103
106
  });
104
107
  // ── Event ───────────────────────────────────────────
105
108
  rl.registerAction("event.create", {
109
+ access: "write",
106
110
  description: "Create a new event",
107
111
  inputSchema: {
108
112
  title: { type: "string", required: true, description: "Event title" },
@@ -130,6 +134,7 @@ export default function actionNetwork(rl) {
130
134
  },
131
135
  });
132
136
  rl.registerAction("event.get", {
137
+ access: "read",
133
138
  description: "Get a specific event",
134
139
  inputSchema: {
135
140
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -140,6 +145,7 @@ export default function actionNetwork(rl) {
140
145
  },
141
146
  });
142
147
  rl.registerAction("event.list", {
148
+ access: "read",
143
149
  description: "List all events",
144
150
  inputSchema: {
145
151
  limit: {
@@ -155,6 +161,7 @@ export default function actionNetwork(rl) {
155
161
  });
156
162
  // ── Person ──────────────────────────────────────────
157
163
  rl.registerAction("person.create", {
164
+ access: "write",
158
165
  description: "Create a new person",
159
166
  inputSchema: {
160
167
  email: { type: "string", required: true, description: "Email address" },
@@ -177,6 +184,7 @@ export default function actionNetwork(rl) {
177
184
  },
178
185
  });
179
186
  rl.registerAction("person.get", {
187
+ access: "read",
180
188
  description: "Get a specific person",
181
189
  inputSchema: {
182
190
  personId: { type: "string", required: true, description: "Person ID" },
@@ -187,6 +195,7 @@ export default function actionNetwork(rl) {
187
195
  },
188
196
  });
189
197
  rl.registerAction("person.list", {
198
+ access: "read",
190
199
  description: "List all people",
191
200
  inputSchema: {
192
201
  limit: {
@@ -201,6 +210,7 @@ export default function actionNetwork(rl) {
201
210
  },
202
211
  });
203
212
  rl.registerAction("person.update", {
213
+ access: "write",
204
214
  description: "Update a person",
205
215
  inputSchema: {
206
216
  personId: { type: "string", required: true, description: "Person ID" },
@@ -219,6 +229,7 @@ export default function actionNetwork(rl) {
219
229
  });
220
230
  // ── Petition ────────────────────────────────────────
221
231
  rl.registerAction("petition.create", {
232
+ access: "write",
222
233
  description: "Create a new petition",
223
234
  inputSchema: {
224
235
  title: { type: "string", required: true, description: "Petition title" },
@@ -249,6 +260,7 @@ export default function actionNetwork(rl) {
249
260
  },
250
261
  });
251
262
  rl.registerAction("petition.get", {
263
+ access: "read",
252
264
  description: "Get a specific petition",
253
265
  inputSchema: {
254
266
  petitionId: {
@@ -263,6 +275,7 @@ export default function actionNetwork(rl) {
263
275
  },
264
276
  });
265
277
  rl.registerAction("petition.list", {
278
+ access: "read",
266
279
  description: "List all petitions",
267
280
  inputSchema: {
268
281
  limit: {
@@ -277,6 +290,7 @@ export default function actionNetwork(rl) {
277
290
  },
278
291
  });
279
292
  rl.registerAction("petition.update", {
293
+ access: "write",
280
294
  description: "Update a petition",
281
295
  inputSchema: {
282
296
  petitionId: {
@@ -304,6 +318,7 @@ export default function actionNetwork(rl) {
304
318
  });
305
319
  // ── Signature ───────────────────────────────────────
306
320
  rl.registerAction("signature.create", {
321
+ access: "write",
307
322
  description: "Add a signature to a petition",
308
323
  inputSchema: {
309
324
  petitionId: {
@@ -324,6 +339,7 @@ export default function actionNetwork(rl) {
324
339
  },
325
340
  });
326
341
  rl.registerAction("signature.get", {
342
+ access: "read",
327
343
  description: "Get a specific signature",
328
344
  inputSchema: {
329
345
  petitionId: {
@@ -343,6 +359,7 @@ export default function actionNetwork(rl) {
343
359
  },
344
360
  });
345
361
  rl.registerAction("signature.list", {
362
+ access: "read",
346
363
  description: "List signatures on a petition",
347
364
  inputSchema: {
348
365
  petitionId: {
@@ -362,6 +379,7 @@ export default function actionNetwork(rl) {
362
379
  },
363
380
  });
364
381
  rl.registerAction("signature.update", {
382
+ access: "write",
365
383
  description: "Update a signature",
366
384
  inputSchema: {
367
385
  petitionId: {
@@ -382,6 +400,7 @@ export default function actionNetwork(rl) {
382
400
  });
383
401
  // ── Tag ─────────────────────────────────────────────
384
402
  rl.registerAction("tag.create", {
403
+ access: "write",
385
404
  description: "Create a new tag",
386
405
  inputSchema: {
387
406
  name: { type: "string", required: true, description: "Tag name" },
@@ -392,6 +411,7 @@ export default function actionNetwork(rl) {
392
411
  },
393
412
  });
394
413
  rl.registerAction("tag.get", {
414
+ access: "read",
395
415
  description: "Get a specific tag",
396
416
  inputSchema: {
397
417
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -402,6 +422,7 @@ export default function actionNetwork(rl) {
402
422
  },
403
423
  });
404
424
  rl.registerAction("tag.list", {
425
+ access: "read",
405
426
  description: "List all tags",
406
427
  inputSchema: {
407
428
  limit: {
@@ -417,6 +438,7 @@ export default function actionNetwork(rl) {
417
438
  });
418
439
  // ── Person Tag ──────────────────────────────────────
419
440
  rl.registerAction("personTag.add", {
441
+ access: "write",
420
442
  description: "Add a tag to a person",
421
443
  inputSchema: {
422
444
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -433,6 +455,7 @@ export default function actionNetwork(rl) {
433
455
  },
434
456
  });
435
457
  rl.registerAction("personTag.remove", {
458
+ access: "write",
436
459
  description: "Remove a tag from a person",
437
460
  inputSchema: {
438
461
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -70,6 +70,7 @@ export default function activeCampaign(rl) {
70
70
  });
71
71
  // ── Contact ─────────────────────────────────────────
72
72
  rl.registerAction("contact.create", {
73
+ access: "write",
73
74
  description: "Create a new contact (or update if exists with updateIfExists flag)",
74
75
  inputSchema: {
75
76
  email: { type: "string", required: true, description: "Contact email" },
@@ -99,6 +100,7 @@ export default function activeCampaign(rl) {
99
100
  },
100
101
  });
101
102
  rl.registerAction("contact.get", {
103
+ access: "read",
102
104
  description: "Get a contact by ID",
103
105
  inputSchema: {
104
106
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -110,6 +112,7 @@ export default function activeCampaign(rl) {
110
112
  },
111
113
  });
112
114
  rl.registerAction("contact.list", {
115
+ access: "read",
113
116
  description: "List all contacts",
114
117
  inputSchema: {
115
118
  limit: {
@@ -125,6 +128,7 @@ export default function activeCampaign(rl) {
125
128
  },
126
129
  });
127
130
  rl.registerAction("contact.update", {
131
+ access: "write",
128
132
  description: "Update a contact",
129
133
  inputSchema: {
130
134
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -142,6 +146,7 @@ export default function activeCampaign(rl) {
142
146
  },
143
147
  });
144
148
  rl.registerAction("contact.delete", {
149
+ access: "write",
145
150
  description: "Delete a contact",
146
151
  inputSchema: {
147
152
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -154,6 +159,7 @@ export default function activeCampaign(rl) {
154
159
  });
155
160
  // ── Account ─────────────────────────────────────────
156
161
  rl.registerAction("account.create", {
162
+ access: "write",
157
163
  description: "Create a new account",
158
164
  inputSchema: {
159
165
  name: { type: "string", required: true, description: "Account name" },
@@ -167,6 +173,7 @@ export default function activeCampaign(rl) {
167
173
  },
168
174
  });
169
175
  rl.registerAction("account.get", {
176
+ access: "read",
170
177
  description: "Get an account by ID",
171
178
  inputSchema: {
172
179
  accountId: { type: "string", required: true, description: "Account ID" },
@@ -178,6 +185,7 @@ export default function activeCampaign(rl) {
178
185
  },
179
186
  });
180
187
  rl.registerAction("account.list", {
188
+ access: "read",
181
189
  description: "List all accounts",
182
190
  inputSchema: {
183
191
  limit: {
@@ -193,6 +201,7 @@ export default function activeCampaign(rl) {
193
201
  },
194
202
  });
195
203
  rl.registerAction("account.update", {
204
+ access: "write",
196
205
  description: "Update an account",
197
206
  inputSchema: {
198
207
  accountId: { type: "string", required: true, description: "Account ID" },
@@ -207,6 +216,7 @@ export default function activeCampaign(rl) {
207
216
  },
208
217
  });
209
218
  rl.registerAction("account.delete", {
219
+ access: "write",
210
220
  description: "Delete an account",
211
221
  inputSchema: {
212
222
  accountId: { type: "string", required: true, description: "Account ID" },
@@ -219,6 +229,7 @@ export default function activeCampaign(rl) {
219
229
  });
220
230
  // ── Account Contact ─────────────────────────────────
221
231
  rl.registerAction("accountContact.create", {
232
+ access: "write",
222
233
  description: "Associate a contact with an account",
223
234
  inputSchema: {
224
235
  contact: { type: "string", required: true, description: "Contact ID" },
@@ -234,6 +245,7 @@ export default function activeCampaign(rl) {
234
245
  },
235
246
  });
236
247
  rl.registerAction("accountContact.update", {
248
+ access: "write",
237
249
  description: "Update an account-contact association",
238
250
  inputSchema: {
239
251
  accountContactId: {
@@ -252,6 +264,7 @@ export default function activeCampaign(rl) {
252
264
  },
253
265
  });
254
266
  rl.registerAction("accountContact.delete", {
267
+ access: "write",
255
268
  description: "Remove a contact from an account",
256
269
  inputSchema: {
257
270
  accountContactId: {
@@ -268,6 +281,7 @@ export default function activeCampaign(rl) {
268
281
  });
269
282
  // ── Contact Tag ─────────────────────────────────────
270
283
  rl.registerAction("contactTag.add", {
284
+ access: "write",
271
285
  description: "Add a tag to a contact",
272
286
  inputSchema: {
273
287
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -282,6 +296,7 @@ export default function activeCampaign(rl) {
282
296
  },
283
297
  });
284
298
  rl.registerAction("contactTag.remove", {
299
+ access: "write",
285
300
  description: "Remove a tag from a contact",
286
301
  inputSchema: {
287
302
  contactTagId: {
@@ -298,6 +313,7 @@ export default function activeCampaign(rl) {
298
313
  });
299
314
  // ── Contact List ────────────────────────────────────
300
315
  rl.registerAction("contactList.add", {
316
+ access: "write",
301
317
  description: "Add a contact to a list",
302
318
  inputSchema: {
303
319
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -312,6 +328,7 @@ export default function activeCampaign(rl) {
312
328
  },
313
329
  });
314
330
  rl.registerAction("contactList.remove", {
331
+ access: "write",
315
332
  description: "Remove a contact from a list",
316
333
  inputSchema: {
317
334
  contactId: { type: "string", required: true, description: "Contact ID" },
@@ -327,6 +344,7 @@ export default function activeCampaign(rl) {
327
344
  });
328
345
  // ── List ────────────────────────────────────────────
329
346
  rl.registerAction("list.list", {
347
+ access: "read",
330
348
  description: "List all lists",
331
349
  inputSchema: {
332
350
  limit: {
@@ -343,6 +361,7 @@ export default function activeCampaign(rl) {
343
361
  });
344
362
  // ── Tag ─────────────────────────────────────────────
345
363
  rl.registerAction("tag.create", {
364
+ access: "write",
346
365
  description: "Create a new tag",
347
366
  inputSchema: {
348
367
  name: { type: "string", required: true, description: "Tag name" },
@@ -361,6 +380,7 @@ export default function activeCampaign(rl) {
361
380
  },
362
381
  });
363
382
  rl.registerAction("tag.get", {
383
+ access: "read",
364
384
  description: "Get a tag by ID",
365
385
  inputSchema: {
366
386
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -372,6 +392,7 @@ export default function activeCampaign(rl) {
372
392
  },
373
393
  });
374
394
  rl.registerAction("tag.list", {
395
+ access: "read",
375
396
  description: "List all tags",
376
397
  inputSchema: {
377
398
  limit: {
@@ -387,6 +408,7 @@ export default function activeCampaign(rl) {
387
408
  },
388
409
  });
389
410
  rl.registerAction("tag.update", {
411
+ access: "write",
390
412
  description: "Update a tag",
391
413
  inputSchema: {
392
414
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -407,6 +429,7 @@ export default function activeCampaign(rl) {
407
429
  },
408
430
  });
409
431
  rl.registerAction("tag.delete", {
432
+ access: "write",
410
433
  description: "Delete a tag",
411
434
  inputSchema: {
412
435
  tagId: { type: "string", required: true, description: "Tag ID" },
@@ -419,6 +442,7 @@ export default function activeCampaign(rl) {
419
442
  });
420
443
  // ── Deal ────────────────────────────────────────────
421
444
  rl.registerAction("deal.create", {
445
+ access: "write",
422
446
  description: "Create a new deal",
423
447
  inputSchema: {
424
448
  title: { type: "string", required: true, description: "Deal title" },
@@ -450,6 +474,7 @@ export default function activeCampaign(rl) {
450
474
  },
451
475
  });
452
476
  rl.registerAction("deal.get", {
477
+ access: "read",
453
478
  description: "Get a deal by ID",
454
479
  inputSchema: {
455
480
  dealId: { type: "string", required: true, description: "Deal ID" },
@@ -461,6 +486,7 @@ export default function activeCampaign(rl) {
461
486
  },
462
487
  });
463
488
  rl.registerAction("deal.list", {
489
+ access: "read",
464
490
  description: "List all deals",
465
491
  inputSchema: {
466
492
  limit: {
@@ -476,6 +502,7 @@ export default function activeCampaign(rl) {
476
502
  },
477
503
  });
478
504
  rl.registerAction("deal.update", {
505
+ access: "write",
479
506
  description: "Update a deal",
480
507
  inputSchema: {
481
508
  dealId: { type: "string", required: true, description: "Deal ID" },
@@ -495,6 +522,7 @@ export default function activeCampaign(rl) {
495
522
  },
496
523
  });
497
524
  rl.registerAction("deal.delete", {
525
+ access: "write",
498
526
  description: "Delete a deal",
499
527
  inputSchema: {
500
528
  dealId: { type: "string", required: true, description: "Deal ID" },
@@ -506,6 +534,7 @@ export default function activeCampaign(rl) {
506
534
  },
507
535
  });
508
536
  rl.registerAction("deal.createNote", {
537
+ access: "write",
509
538
  description: "Add a note to a deal",
510
539
  inputSchema: {
511
540
  dealId: { type: "string", required: true, description: "Deal ID" },
@@ -520,6 +549,7 @@ export default function activeCampaign(rl) {
520
549
  },
521
550
  });
522
551
  rl.registerAction("deal.updateNote", {
552
+ access: "write",
523
553
  description: "Update a note on a deal",
524
554
  inputSchema: {
525
555
  dealId: { type: "string", required: true, description: "Deal ID" },
@@ -536,6 +566,7 @@ export default function activeCampaign(rl) {
536
566
  });
537
567
  // ── Connection ──────────────────────────────────────
538
568
  rl.registerAction("connection.create", {
569
+ access: "write",
539
570
  description: "Create a new connection (e-commerce integration)",
540
571
  inputSchema: {
541
572
  service: { type: "string", required: true, description: "Service name" },
@@ -556,6 +587,7 @@ export default function activeCampaign(rl) {
556
587
  },
557
588
  });
558
589
  rl.registerAction("connection.get", {
590
+ access: "read",
559
591
  description: "Get a connection by ID",
560
592
  inputSchema: {
561
593
  connectionId: {
@@ -571,6 +603,7 @@ export default function activeCampaign(rl) {
571
603
  },
572
604
  });
573
605
  rl.registerAction("connection.list", {
606
+ access: "read",
574
607
  description: "List all connections",
575
608
  inputSchema: {
576
609
  limit: {
@@ -586,6 +619,7 @@ export default function activeCampaign(rl) {
586
619
  },
587
620
  });
588
621
  rl.registerAction("connection.update", {
622
+ access: "write",
589
623
  description: "Update a connection",
590
624
  inputSchema: {
591
625
  connectionId: {
@@ -603,6 +637,7 @@ export default function activeCampaign(rl) {
603
637
  },
604
638
  });
605
639
  rl.registerAction("connection.delete", {
640
+ access: "write",
606
641
  description: "Delete a connection",
607
642
  inputSchema: {
608
643
  connectionId: {
@@ -619,6 +654,7 @@ export default function activeCampaign(rl) {
619
654
  });
620
655
  // ── E-Commerce Customer ─────────────────────────────
621
656
  rl.registerAction("ecomCustomer.create", {
657
+ access: "write",
622
658
  description: "Create an e-commerce customer",
623
659
  inputSchema: {
624
660
  connectionid: {
@@ -651,6 +687,7 @@ export default function activeCampaign(rl) {
651
687
  },
652
688
  });
653
689
  rl.registerAction("ecomCustomer.get", {
690
+ access: "read",
654
691
  description: "Get an e-commerce customer by ID",
655
692
  inputSchema: {
656
693
  customerId: {
@@ -666,6 +703,7 @@ export default function activeCampaign(rl) {
666
703
  },
667
704
  });
668
705
  rl.registerAction("ecomCustomer.list", {
706
+ access: "read",
669
707
  description: "List all e-commerce customers",
670
708
  inputSchema: {
671
709
  limit: {
@@ -681,6 +719,7 @@ export default function activeCampaign(rl) {
681
719
  },
682
720
  });
683
721
  rl.registerAction("ecomCustomer.update", {
722
+ access: "write",
684
723
  description: "Update an e-commerce customer",
685
724
  inputSchema: {
686
725
  customerId: {
@@ -707,6 +746,7 @@ export default function activeCampaign(rl) {
707
746
  },
708
747
  });
709
748
  rl.registerAction("ecomCustomer.delete", {
749
+ access: "write",
710
750
  description: "Delete an e-commerce customer",
711
751
  inputSchema: {
712
752
  customerId: {
@@ -723,6 +763,7 @@ export default function activeCampaign(rl) {
723
763
  });
724
764
  // ── E-Commerce Order ────────────────────────────────
725
765
  rl.registerAction("ecomOrder.create", {
766
+ access: "write",
726
767
  description: "Create an e-commerce order",
727
768
  inputSchema: {
728
769
  source: { type: "string", required: true, description: "Order source" },
@@ -767,6 +808,7 @@ export default function activeCampaign(rl) {
767
808
  },
768
809
  });
769
810
  rl.registerAction("ecomOrder.get", {
811
+ access: "read",
770
812
  description: "Get an e-commerce order by ID",
771
813
  inputSchema: {
772
814
  orderId: { type: "string", required: true, description: "Order ID" },
@@ -778,6 +820,7 @@ export default function activeCampaign(rl) {
778
820
  },
779
821
  });
780
822
  rl.registerAction("ecomOrder.list", {
823
+ access: "read",
781
824
  description: "List all e-commerce orders",
782
825
  inputSchema: {
783
826
  limit: {
@@ -793,6 +836,7 @@ export default function activeCampaign(rl) {
793
836
  },
794
837
  });
795
838
  rl.registerAction("ecomOrder.update", {
839
+ access: "write",
796
840
  description: "Update an e-commerce order",
797
841
  inputSchema: {
798
842
  orderId: { type: "string", required: true, description: "Order ID" },
@@ -806,6 +850,7 @@ export default function activeCampaign(rl) {
806
850
  },
807
851
  });
808
852
  rl.registerAction("ecomOrder.delete", {
853
+ access: "write",
809
854
  description: "Delete an e-commerce order",
810
855
  inputSchema: {
811
856
  orderId: { type: "string", required: true, description: "Order ID" },
@@ -818,6 +863,7 @@ export default function activeCampaign(rl) {
818
863
  });
819
864
  // ── E-Commerce Order Products ───────────────────────
820
865
  rl.registerAction("ecomOrderProduct.getByProductId", {
866
+ access: "read",
821
867
  description: "Get an order product by product ID",
822
868
  inputSchema: {
823
869
  productId: { type: "string", required: true, description: "Product ID" },
@@ -829,6 +875,7 @@ export default function activeCampaign(rl) {
829
875
  },
830
876
  });
831
877
  rl.registerAction("ecomOrderProduct.getByOrderId", {
878
+ access: "read",
832
879
  description: "Get order products for an order",
833
880
  inputSchema: {
834
881
  orderId: { type: "string", required: true, description: "Order ID" },
@@ -840,6 +887,7 @@ export default function activeCampaign(rl) {
840
887
  },
841
888
  });
842
889
  rl.registerAction("ecomOrderProduct.list", {
890
+ access: "read",
843
891
  description: "List all e-commerce order products",
844
892
  inputSchema: {
845
893
  limit: {
@@ -68,6 +68,7 @@ export default function adalo(rl) {
68
68
  },
69
69
  });
70
70
  rl.registerAction("collection.create", {
71
+ access: "write",
71
72
  description: "Create a row in a collection",
72
73
  inputSchema: {
73
74
  collectionId: {
@@ -88,6 +89,7 @@ export default function adalo(rl) {
88
89
  },
89
90
  });
90
91
  rl.registerAction("collection.get", {
92
+ access: "read",
91
93
  description: "Get a row from a collection",
92
94
  inputSchema: {
93
95
  collectionId: {
@@ -104,6 +106,7 @@ export default function adalo(rl) {
104
106
  },
105
107
  });
106
108
  rl.registerAction("collection.list", {
109
+ access: "read",
107
110
  description: "List rows from a collection",
108
111
  inputSchema: {
109
112
  collectionId: {
@@ -124,6 +127,7 @@ export default function adalo(rl) {
124
127
  },
125
128
  });
126
129
  rl.registerAction("collection.update", {
130
+ access: "write",
127
131
  description: "Update a row in a collection",
128
132
  inputSchema: {
129
133
  collectionId: {
@@ -145,6 +149,7 @@ export default function adalo(rl) {
145
149
  },
146
150
  });
147
151
  rl.registerAction("collection.delete", {
152
+ access: "write",
148
153
  description: "Delete a row from a collection",
149
154
  inputSchema: {
150
155
  collectionId: {