@relayflows/surface 2.0.16 → 2.0.18

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 (271) hide show
  1. package/dist/context.d.ts +25 -1
  2. package/dist/context.d.ts.map +1 -1
  3. package/dist/flow.d.ts.map +1 -1
  4. package/dist/flow.js +19 -4
  5. package/dist/flow.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/provider-trigger.d.ts +2 -2
  11. package/dist/provider-trigger.d.ts.map +1 -1
  12. package/dist/provider-trigger.js.map +1 -1
  13. package/dist/schedule.d.ts +76 -0
  14. package/dist/schedule.d.ts.map +1 -0
  15. package/dist/schedule.js +264 -0
  16. package/dist/schedule.js.map +1 -0
  17. package/dist/step.d.ts +20 -6
  18. package/dist/step.d.ts.map +1 -1
  19. package/dist/triggers/airtable.d.ts +13 -0
  20. package/dist/triggers/airtable.d.ts.map +1 -0
  21. package/dist/triggers/airtable.js +32 -0
  22. package/dist/triggers/airtable.js.map +1 -0
  23. package/dist/triggers/asana.d.ts +21 -0
  24. package/dist/triggers/asana.d.ts.map +1 -0
  25. package/dist/triggers/asana.js +56 -0
  26. package/dist/triggers/asana.js.map +1 -0
  27. package/dist/triggers/azure-blob.d.ts +7 -0
  28. package/dist/triggers/azure-blob.d.ts.map +1 -0
  29. package/dist/triggers/azure-blob.js +14 -0
  30. package/dist/triggers/azure-blob.js.map +1 -0
  31. package/dist/triggers/box.d.ts +7 -0
  32. package/dist/triggers/box.d.ts.map +1 -0
  33. package/dist/triggers/box.js +14 -0
  34. package/dist/triggers/box.js.map +1 -0
  35. package/dist/triggers/calendly.d.ts +16 -0
  36. package/dist/triggers/calendly.d.ts.map +1 -0
  37. package/dist/triggers/calendly.js +41 -0
  38. package/dist/triggers/calendly.js.map +1 -0
  39. package/dist/triggers/clickup.d.ts +16 -0
  40. package/dist/triggers/clickup.d.ts.map +1 -0
  41. package/dist/triggers/clickup.js +41 -0
  42. package/dist/triggers/clickup.js.map +1 -0
  43. package/dist/triggers/cloudflare.d.ts +12 -0
  44. package/dist/triggers/cloudflare.d.ts.map +1 -0
  45. package/dist/triggers/cloudflare.js +29 -0
  46. package/dist/triggers/cloudflare.js.map +1 -0
  47. package/dist/triggers/confluence.d.ts +10 -0
  48. package/dist/triggers/confluence.d.ts.map +1 -0
  49. package/dist/triggers/confluence.js +23 -0
  50. package/dist/triggers/confluence.js.map +1 -0
  51. package/dist/triggers/daytona.d.ts +11 -0
  52. package/dist/triggers/daytona.d.ts.map +1 -0
  53. package/dist/triggers/daytona.js +26 -0
  54. package/dist/triggers/daytona.js.map +1 -0
  55. package/dist/triggers/docker-hub.d.ts +5 -0
  56. package/dist/triggers/docker-hub.d.ts.map +1 -0
  57. package/dist/triggers/docker-hub.js +8 -0
  58. package/dist/triggers/docker-hub.js.map +1 -0
  59. package/dist/triggers/dropbox.d.ts +5 -0
  60. package/dist/triggers/dropbox.d.ts.map +1 -0
  61. package/dist/triggers/dropbox.js +8 -0
  62. package/dist/triggers/dropbox.js.map +1 -0
  63. package/dist/triggers/fathom.d.ts +5 -0
  64. package/dist/triggers/fathom.d.ts.map +1 -0
  65. package/dist/triggers/fathom.js +8 -0
  66. package/dist/triggers/fathom.js.map +1 -0
  67. package/dist/triggers/gcp.d.ts +13 -0
  68. package/dist/triggers/gcp.d.ts.map +1 -0
  69. package/dist/triggers/gcp.js +32 -0
  70. package/dist/triggers/gcp.js.map +1 -0
  71. package/dist/triggers/gcs.d.ts +7 -0
  72. package/dist/triggers/gcs.d.ts.map +1 -0
  73. package/dist/triggers/gcs.js +14 -0
  74. package/dist/triggers/gcs.js.map +1 -0
  75. package/dist/triggers/github.d.ts +22 -0
  76. package/dist/triggers/github.d.ts.map +1 -1
  77. package/dist/triggers/github.js +66 -0
  78. package/dist/triggers/github.js.map +1 -1
  79. package/dist/triggers/gitlab.d.ts +57 -0
  80. package/dist/triggers/gitlab.d.ts.map +1 -0
  81. package/dist/triggers/gitlab.js +164 -0
  82. package/dist/triggers/gitlab.js.map +1 -0
  83. package/dist/triggers/gmail.d.ts +7 -0
  84. package/dist/triggers/gmail.d.ts.map +1 -0
  85. package/dist/triggers/gmail.js +14 -0
  86. package/dist/triggers/gmail.js.map +1 -0
  87. package/dist/triggers/google-calendar.d.ts +7 -0
  88. package/dist/triggers/google-calendar.d.ts.map +1 -0
  89. package/dist/triggers/google-calendar.js +14 -0
  90. package/dist/triggers/google-calendar.js.map +1 -0
  91. package/dist/triggers/google-drive.d.ts +7 -0
  92. package/dist/triggers/google-drive.d.ts.map +1 -0
  93. package/dist/triggers/google-drive.js +14 -0
  94. package/dist/triggers/google-drive.js.map +1 -0
  95. package/dist/triggers/granola.d.ts +8 -0
  96. package/dist/triggers/granola.d.ts.map +1 -0
  97. package/dist/triggers/granola.js +17 -0
  98. package/dist/triggers/granola.js.map +1 -0
  99. package/dist/triggers/hubspot.d.ts +24 -0
  100. package/dist/triggers/hubspot.d.ts.map +1 -0
  101. package/dist/triggers/hubspot.js +65 -0
  102. package/dist/triggers/hubspot.js.map +1 -0
  103. package/dist/triggers/index.d.ts +92 -2
  104. package/dist/triggers/index.d.ts.map +1 -1
  105. package/dist/triggers/index.js +92 -2
  106. package/dist/triggers/index.js.map +1 -1
  107. package/dist/triggers/intercom.d.ts +22 -0
  108. package/dist/triggers/intercom.d.ts.map +1 -0
  109. package/dist/triggers/intercom.js +59 -0
  110. package/dist/triggers/intercom.js.map +1 -0
  111. package/dist/triggers/jira.d.ts +16 -0
  112. package/dist/triggers/jira.d.ts.map +1 -0
  113. package/dist/triggers/jira.js +41 -0
  114. package/dist/triggers/jira.js.map +1 -0
  115. package/dist/triggers/linear.d.ts +37 -0
  116. package/dist/triggers/linear.d.ts.map +1 -0
  117. package/dist/triggers/linear.js +104 -0
  118. package/dist/triggers/linear.js.map +1 -0
  119. package/dist/triggers/mailgun.d.ts +19 -0
  120. package/dist/triggers/mailgun.d.ts.map +1 -0
  121. package/dist/triggers/mailgun.js +50 -0
  122. package/dist/triggers/mailgun.js.map +1 -0
  123. package/dist/triggers/mixpanel.d.ts +16 -0
  124. package/dist/triggers/mixpanel.d.ts.map +1 -0
  125. package/dist/triggers/mixpanel.js +41 -0
  126. package/dist/triggers/mixpanel.js.map +1 -0
  127. package/dist/triggers/neon.d.ts +9 -0
  128. package/dist/triggers/neon.d.ts.map +1 -0
  129. package/dist/triggers/neon.js +20 -0
  130. package/dist/triggers/neon.js.map +1 -0
  131. package/dist/triggers/notion.d.ts +17 -0
  132. package/dist/triggers/notion.d.ts.map +1 -0
  133. package/dist/triggers/notion.js +44 -0
  134. package/dist/triggers/notion.js.map +1 -0
  135. package/dist/triggers/onedrive.d.ts +7 -0
  136. package/dist/triggers/onedrive.d.ts.map +1 -0
  137. package/dist/triggers/onedrive.js +14 -0
  138. package/dist/triggers/onedrive.js.map +1 -0
  139. package/dist/triggers/pipedrive.d.ts +18 -0
  140. package/dist/triggers/pipedrive.d.ts.map +1 -0
  141. package/dist/triggers/pipedrive.js +47 -0
  142. package/dist/triggers/pipedrive.js.map +1 -0
  143. package/dist/triggers/postgres.d.ts +7 -0
  144. package/dist/triggers/postgres.d.ts.map +1 -0
  145. package/dist/triggers/postgres.js +14 -0
  146. package/dist/triggers/postgres.js.map +1 -0
  147. package/dist/triggers/posthog.d.ts +6 -0
  148. package/dist/triggers/posthog.d.ts.map +1 -0
  149. package/dist/triggers/posthog.js +11 -0
  150. package/dist/triggers/posthog.js.map +1 -0
  151. package/dist/triggers/ramp.d.ts +51 -0
  152. package/dist/triggers/ramp.d.ts.map +1 -0
  153. package/dist/triggers/ramp.js +146 -0
  154. package/dist/triggers/ramp.js.map +1 -0
  155. package/dist/triggers/recall.d.ts +7 -0
  156. package/dist/triggers/recall.d.ts.map +1 -0
  157. package/dist/triggers/recall.js +14 -0
  158. package/dist/triggers/recall.js.map +1 -0
  159. package/dist/triggers/redis.d.ts +7 -0
  160. package/dist/triggers/redis.d.ts.map +1 -0
  161. package/dist/triggers/redis.js +14 -0
  162. package/dist/triggers/redis.js.map +1 -0
  163. package/dist/triggers/s3.d.ts +7 -0
  164. package/dist/triggers/s3.d.ts.map +1 -0
  165. package/dist/triggers/s3.js +14 -0
  166. package/dist/triggers/s3.js.map +1 -0
  167. package/dist/triggers/salesforce.d.ts +26 -0
  168. package/dist/triggers/salesforce.d.ts.map +1 -0
  169. package/dist/triggers/salesforce.js +71 -0
  170. package/dist/triggers/salesforce.js.map +1 -0
  171. package/dist/triggers/segment.d.ts +16 -0
  172. package/dist/triggers/segment.d.ts.map +1 -0
  173. package/dist/triggers/segment.js +41 -0
  174. package/dist/triggers/segment.js.map +1 -0
  175. package/dist/triggers/sendgrid.d.ts +21 -0
  176. package/dist/triggers/sendgrid.d.ts.map +1 -0
  177. package/dist/triggers/sendgrid.js +56 -0
  178. package/dist/triggers/sendgrid.js.map +1 -0
  179. package/dist/triggers/sharepoint.d.ts +7 -0
  180. package/dist/triggers/sharepoint.d.ts.map +1 -0
  181. package/dist/triggers/sharepoint.js +14 -0
  182. package/dist/triggers/sharepoint.js.map +1 -0
  183. package/dist/triggers/shopify.d.ts +28 -0
  184. package/dist/triggers/shopify.d.ts.map +1 -0
  185. package/dist/triggers/shopify.js +77 -0
  186. package/dist/triggers/shopify.js.map +1 -0
  187. package/dist/triggers/shortcut.d.ts +10 -0
  188. package/dist/triggers/shortcut.d.ts.map +1 -0
  189. package/dist/triggers/shortcut.js +23 -0
  190. package/dist/triggers/shortcut.js.map +1 -0
  191. package/dist/triggers/slack.d.ts +17 -0
  192. package/dist/triggers/slack.d.ts.map +1 -1
  193. package/dist/triggers/slack.js +51 -0
  194. package/dist/triggers/slack.js.map +1 -1
  195. package/dist/triggers/stripe.d.ts +25 -0
  196. package/dist/triggers/stripe.d.ts.map +1 -0
  197. package/dist/triggers/stripe.js +68 -0
  198. package/dist/triggers/stripe.js.map +1 -0
  199. package/dist/triggers/teams.d.ts +24 -0
  200. package/dist/triggers/teams.d.ts.map +1 -0
  201. package/dist/triggers/teams.js +65 -0
  202. package/dist/triggers/teams.js.map +1 -0
  203. package/dist/triggers/telegram.d.ts +29 -0
  204. package/dist/triggers/telegram.d.ts.map +1 -0
  205. package/dist/triggers/telegram.js +80 -0
  206. package/dist/triggers/telegram.js.map +1 -0
  207. package/dist/triggers/zendesk.d.ts +13 -0
  208. package/dist/triggers/zendesk.d.ts.map +1 -0
  209. package/dist/triggers/zendesk.js +32 -0
  210. package/dist/triggers/zendesk.js.map +1 -0
  211. package/dist/triggers.d.ts +5 -2
  212. package/dist/triggers.d.ts.map +1 -1
  213. package/dist/triggers.js.map +1 -1
  214. package/package.json +1 -1
  215. package/src/context.ts +26 -1
  216. package/src/flow.ts +17 -3
  217. package/src/index.ts +6 -2
  218. package/src/provider-trigger.ts +2 -2
  219. package/src/schedule.ts +282 -0
  220. package/src/step.ts +22 -6
  221. package/src/triggers/PROVIDERS.md +56 -0
  222. package/src/triggers/README.md +84 -8
  223. package/src/triggers/airtable.ts +34 -0
  224. package/src/triggers/asana.ts +58 -0
  225. package/src/triggers/azure-blob.ts +16 -0
  226. package/src/triggers/box.ts +16 -0
  227. package/src/triggers/calendly.ts +43 -0
  228. package/src/triggers/clickup.ts +43 -0
  229. package/src/triggers/cloudflare.ts +31 -0
  230. package/src/triggers/confluence.ts +25 -0
  231. package/src/triggers/daytona.ts +28 -0
  232. package/src/triggers/docker-hub.ts +10 -0
  233. package/src/triggers/dropbox.ts +10 -0
  234. package/src/triggers/fathom.ts +10 -0
  235. package/src/triggers/gcp.ts +34 -0
  236. package/src/triggers/gcs.ts +16 -0
  237. package/src/triggers/github.ts +66 -0
  238. package/src/triggers/gitlab.ts +166 -0
  239. package/src/triggers/gmail.ts +16 -0
  240. package/src/triggers/google-calendar.ts +16 -0
  241. package/src/triggers/google-drive.ts +16 -0
  242. package/src/triggers/granola.ts +19 -0
  243. package/src/triggers/hubspot.ts +67 -0
  244. package/src/triggers/index.ts +92 -2
  245. package/src/triggers/intercom.ts +61 -0
  246. package/src/triggers/jira.ts +43 -0
  247. package/src/triggers/linear.ts +106 -0
  248. package/src/triggers/mailgun.ts +52 -0
  249. package/src/triggers/mixpanel.ts +43 -0
  250. package/src/triggers/neon.ts +22 -0
  251. package/src/triggers/notion.ts +46 -0
  252. package/src/triggers/onedrive.ts +16 -0
  253. package/src/triggers/pipedrive.ts +49 -0
  254. package/src/triggers/postgres.ts +16 -0
  255. package/src/triggers/posthog.ts +13 -0
  256. package/src/triggers/ramp.ts +148 -0
  257. package/src/triggers/recall.ts +16 -0
  258. package/src/triggers/redis.ts +16 -0
  259. package/src/triggers/s3.ts +16 -0
  260. package/src/triggers/salesforce.ts +73 -0
  261. package/src/triggers/segment.ts +43 -0
  262. package/src/triggers/sendgrid.ts +58 -0
  263. package/src/triggers/sharepoint.ts +16 -0
  264. package/src/triggers/shopify.ts +79 -0
  265. package/src/triggers/shortcut.ts +25 -0
  266. package/src/triggers/slack.ts +51 -0
  267. package/src/triggers/stripe.ts +70 -0
  268. package/src/triggers/teams.ts +67 -0
  269. package/src/triggers/telegram.ts +82 -0
  270. package/src/triggers/zendesk.ts +34 -0
  271. package/src/triggers.ts +7 -2
@@ -9,8 +9,25 @@ export default flow('triage')
9
9
  .on(github.pull_request('opened'), async (f, event) => { f.done('success'); });
10
10
  ```
11
11
 
12
+ Every provider a relayfile adapter can deliver has a namespace — 47 today,
13
+ 570 events; see [PROVIDERS.md](PROVIDERS.md) (generated) for the full table.
14
+ Hyphenated providers become identifiers: `azure-blob` → `azure_blob`,
15
+ `google-drive` → `google_drive`; the inbox name and event type keep the
16
+ upstream spelling, so `azure_blob.file_created()` lowers to
17
+ `{ provider: 'azure-blob', type: 'file.created' }`. Namespaces come from two
18
+ sources: an adapter's `webhooks:` mapping block, which carries payload shape
19
+ (`github.pull_request(action?)` takes an action because the mapping extracts
20
+ one), and the trigger catalog (`@relayfile/adapter-core/triggers`, every adapter's
21
+ `supportedEvents()`), which is the full set an adapter delivers and yields the
22
+ plain `(filter?)` signature. The two are unioned per provider: a mapping
23
+ covers payload shape for some events, never the whole set (gitlab maps 8 of
24
+ 53). Where two upstream names share an identifier (`reaction.added` and
25
+ `reaction_added`), the mapping-declared one owns the method and the other
26
+ stays subscribable via `webhook(provider, { provider, type })`; PROVIDERS.md
27
+ lists them.
28
+
12
29
  Provider namespaces also export from `@relayflows/surface/triggers` and
13
- `@relayflows/surface/triggers/slack` (or `/github`). Declarations are immutable
30
+ `@relayflows/surface/triggers/slack` (or `/github`, `/notion`, …). Declarations are immutable
14
31
  webhook sources: their executor/inbox name is the provider, and their filter
15
32
  matches the provider, event type, and requested payload fields. Register those
16
33
  provider names in `flows.json`'s `executors` array for preflight.
@@ -32,9 +49,21 @@ filter names that same provider, and the filter pins an event type.
32
49
  `slack.reaction(emoji)` subscribes to `reaction_added`. Arguments match provider
33
50
  values exactly: use the channel ID and reaction name from the incoming event.
34
51
  `github.pull_request(action)` filters `payload.action`; omitting the action
35
- accepts every pull request event. Upstream mappings do not declare action enums,
36
- so the action parameter is a string. Other generated methods accept an optional
37
- recursive payload filter, for example `github.push({ ref: 'refs/heads/main' })`.
52
+ accepts every pull request event. GitHub (and some other providers) appear in
53
+ two spellings because two ingresses deliver them: the aggregate event with the
54
+ action in the payload (`pull_request` + `payload.action`) is what a raw GitHub
55
+ delivery and this package's `POST /providers/github` receiver carry, while the
56
+ action-qualified name (`pull_request.opened`) is what relayfile's Cloud
57
+ ingress normalizes to and what the adapter catalog lists. Subscribe in the
58
+ spelling of the ingress that will deliver to you; action-qualified methods
59
+ take only a payload filter, never a second action. Upstream mappings do not declare action enums,
60
+ so the action parameter is a string. `github.check_run(action)` (a CI check
61
+ finished: `completed`, with `check_run.conclusion` in the payload) and
62
+ `github.issue_comment(action)` (a comment on an issue or pull-request
63
+ conversation: `created`, `edited`, `deleted`) take an action the same way — the
64
+ two events a PR reviewer needs for merge-on-green and comment-driven directives.
65
+ Other generated methods accept an optional recursive payload filter, for
66
+ example `github.push({ ref: 'refs/heads/main' })`.
38
67
 
39
68
  The receiver accepts `POST /providers/slack` with this JSON:
40
69
 
@@ -72,9 +101,55 @@ Each provider inbox still binds one RunSpec. This extends E's declaration and
72
101
  inbox contract; deploying TypeScript handler bodies remains the separate #301
73
102
  binding step.
74
103
 
104
+ ## Schedules
105
+
106
+ `schedule` is hand-written, not generated: a schedule is not a provider event.
107
+
108
+ ```ts
109
+ import { flow, schedule } from '@relayflows/surface';
110
+
111
+ export default flow('nightly')
112
+ .on(schedule.cron('0 9 * * 1-5', { tz: 'Europe/Oslo' }), async (f) => { f.done('success'); })
113
+ .on(schedule.every('5m'), async (f) => { f.done('success'); });
114
+ ```
115
+
116
+ `schedule.cron` validates a standard five-field expression (values, ranges,
117
+ lists, `/step`, month and weekday names) and an IANA `tz`; `schedule.every`
118
+ takes `<n><s|m|h|d>`, at least one second. Both are inert data. The SDK lowers
119
+ a declaration to the `flows.tick` subscription `testdata/tick-heartbeat.flow.yaml`
120
+ writes by hand — event type `flows.tick`, pattern `schedule_id`, the tick
121
+ dedupe key, and a three-slot silence budget — with a deterministic
122
+ `schedule_id` from the flow name and the declaration (`scheduleIdFor`).
123
+ `flows check` prints each one:
124
+
125
+ ```
126
+ SCHEDULE handler 0 every 300000ms -> flows.tick schedule_id nightly-every-300000ms-33a704f768702f7d [local: flows tick start --schedule-id nightly-every-300000ms-33a704f768702f7d --interval-ms 300000 --epoch-ms 0]
127
+ SCHEDULE handler 1 cron "0 9 * * 1-5" tz Europe/Oslo -> flows.tick schedule_id nightly-cron-0-9-1-5-europe-oslo-41f5a267fd758564 [Cloud only: ...]
128
+ ```
129
+
130
+ The id is a readable slug plus a hash of the exact declaration, so `1-5` and
131
+ `1,5`, two zones, or two long names never share a tick stream (the kernel
132
+ dispatches an event to its first matching subscription only).
133
+
134
+ Locally the tick runner fires at `epoch + k·interval`, so it drives a cron
135
+ only when that grid reproduces it **exactly**: `every(...)`; `*/N * * * *`
136
+ with `N` dividing 60; `M */N * * *` with `N` dividing 24 (phase `M`
137
+ minutes); `M H * * *` daily (phase `H:M`) — all in UTC. `*/7 * * * *` is not
138
+ a grid (cron restarts the count each hour, a grid drifts), nor is anything
139
+ with day, month or weekday constraints, lists, ranges, or a non-UTC zone.
140
+ Those are reported as Cloud-only rather than approximated; `flows schedule`
141
+ registers them on Cloud's cron-aware runner. Every schedule declares its own
142
+ silence budget — three intervals for a grid, three times the cron's longest
143
+ quiet period otherwise (`cronMaxGapMs`) — so a weekday-morning cron is not
144
+ journaled stale on Monday at 09:05 by the kernel's five-minute default.
145
+ Schedules need no `flows.json` executor entry: the tick source ships with
146
+ the CLI.
147
+
75
148
  Generation requires the SDK's development dependencies. The default input is
76
- the mapping YAML shipped in the pinned `@relayfile/adapter-core` dependency
77
- (currently Slack and GitHub). A checkout supplies additional providers:
149
+ the pinned `@relayfile/adapter-core` dependency: its `mappings/` fallbacks,
150
+ its `mappings/adapters/` bundle (every adapter's own mapping, adapter-core
151
+ ≥ 0.5.26), and its trigger catalog. A checkout supplies the same three from
152
+ source:
78
153
 
79
154
  ```sh
80
155
  node scripts/generate-triggers.mjs
@@ -83,6 +158,7 @@ node scripts/generate-triggers.mjs --adapters-dir /path/to/relayfile-adapters
83
158
  ```
84
159
 
85
160
  The generator reads `packages/core/mappings/*.mapping.yaml`, then each adapter's
86
- `packages/<adapter>/*.mapping.yaml`; adapter-local mappings take precedence.
87
- Only adapters with a nonempty `webhooks:` section produce modules. It never
161
+ `packages/<adapter>/*.mapping.yaml` (adapter-local mappings take precedence),
162
+ then `packages/core/src/triggers/catalog.generated.json` for providers with no
163
+ `webhooks:` block. Only providers with at least one event produce modules. It never
88
164
  imports or executes adapter code. Rebuild the surface and SDK after regeneration.
@@ -0,0 +1,34 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const airtable = Object.freeze({
7
+ base_create(filter?: WebhookFilter) {
8
+ return providerTrigger("airtable", "base.create", filter);
9
+ },
10
+ base_delete(filter?: WebhookFilter) {
11
+ return providerTrigger("airtable", "base.delete", filter);
12
+ },
13
+ base_update(filter?: WebhookFilter) {
14
+ return providerTrigger("airtable", "base.update", filter);
15
+ },
16
+ record_create(filter?: WebhookFilter) {
17
+ return providerTrigger("airtable", "record.create", filter);
18
+ },
19
+ record_delete(filter?: WebhookFilter) {
20
+ return providerTrigger("airtable", "record.delete", filter);
21
+ },
22
+ record_update(filter?: WebhookFilter) {
23
+ return providerTrigger("airtable", "record.update", filter);
24
+ },
25
+ table_create(filter?: WebhookFilter) {
26
+ return providerTrigger("airtable", "table.create", filter);
27
+ },
28
+ table_delete(filter?: WebhookFilter) {
29
+ return providerTrigger("airtable", "table.delete", filter);
30
+ },
31
+ table_update(filter?: WebhookFilter) {
32
+ return providerTrigger("airtable", "table.update", filter);
33
+ },
34
+ });
@@ -0,0 +1,58 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const asana = Object.freeze({
7
+ project_added(filter?: WebhookFilter) {
8
+ return providerTrigger("asana", "project.added", filter);
9
+ },
10
+ project_changed(filter?: WebhookFilter) {
11
+ return providerTrigger("asana", "project.changed", filter);
12
+ },
13
+ project_deleted(filter?: WebhookFilter) {
14
+ return providerTrigger("asana", "project.deleted", filter);
15
+ },
16
+ project_removed(filter?: WebhookFilter) {
17
+ return providerTrigger("asana", "project.removed", filter);
18
+ },
19
+ section_added(filter?: WebhookFilter) {
20
+ return providerTrigger("asana", "section.added", filter);
21
+ },
22
+ section_changed(filter?: WebhookFilter) {
23
+ return providerTrigger("asana", "section.changed", filter);
24
+ },
25
+ section_deleted(filter?: WebhookFilter) {
26
+ return providerTrigger("asana", "section.deleted", filter);
27
+ },
28
+ section_removed(filter?: WebhookFilter) {
29
+ return providerTrigger("asana", "section.removed", filter);
30
+ },
31
+ task_added(filter?: WebhookFilter) {
32
+ return providerTrigger("asana", "task.added", filter);
33
+ },
34
+ task_changed(filter?: WebhookFilter) {
35
+ return providerTrigger("asana", "task.changed", filter);
36
+ },
37
+ task_completed(filter?: WebhookFilter) {
38
+ return providerTrigger("asana", "task.completed", filter);
39
+ },
40
+ task_deleted(filter?: WebhookFilter) {
41
+ return providerTrigger("asana", "task.deleted", filter);
42
+ },
43
+ task_removed(filter?: WebhookFilter) {
44
+ return providerTrigger("asana", "task.removed", filter);
45
+ },
46
+ workspace_added(filter?: WebhookFilter) {
47
+ return providerTrigger("asana", "workspace.added", filter);
48
+ },
49
+ workspace_changed(filter?: WebhookFilter) {
50
+ return providerTrigger("asana", "workspace.changed", filter);
51
+ },
52
+ workspace_deleted(filter?: WebhookFilter) {
53
+ return providerTrigger("asana", "workspace.deleted", filter);
54
+ },
55
+ workspace_removed(filter?: WebhookFilter) {
56
+ return providerTrigger("asana", "workspace.removed", filter);
57
+ },
58
+ });
@@ -0,0 +1,16 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const azure_blob = Object.freeze({
7
+ file_created(filter?: WebhookFilter) {
8
+ return providerTrigger("azure-blob", "file.created", filter);
9
+ },
10
+ file_deleted(filter?: WebhookFilter) {
11
+ return providerTrigger("azure-blob", "file.deleted", filter);
12
+ },
13
+ file_updated(filter?: WebhookFilter) {
14
+ return providerTrigger("azure-blob", "file.updated", filter);
15
+ },
16
+ });
@@ -0,0 +1,16 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const box = Object.freeze({
7
+ file_created(filter?: WebhookFilter) {
8
+ return providerTrigger("box", "file.created", filter);
9
+ },
10
+ file_deleted(filter?: WebhookFilter) {
11
+ return providerTrigger("box", "file.deleted", filter);
12
+ },
13
+ file_updated(filter?: WebhookFilter) {
14
+ return providerTrigger("box", "file.updated", filter);
15
+ },
16
+ });
@@ -0,0 +1,43 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const calendly = Object.freeze({
7
+ event_type_canceled(filter?: WebhookFilter) {
8
+ return providerTrigger("calendly", "event_type.canceled", filter);
9
+ },
10
+ event_type_created(filter?: WebhookFilter) {
11
+ return providerTrigger("calendly", "event_type.created", filter);
12
+ },
13
+ event_type_deleted(filter?: WebhookFilter) {
14
+ return providerTrigger("calendly", "event_type.deleted", filter);
15
+ },
16
+ event_type_updated(filter?: WebhookFilter) {
17
+ return providerTrigger("calendly", "event_type.updated", filter);
18
+ },
19
+ invitee_canceled(filter?: WebhookFilter) {
20
+ return providerTrigger("calendly", "invitee.canceled", filter);
21
+ },
22
+ invitee_created(filter?: WebhookFilter) {
23
+ return providerTrigger("calendly", "invitee.created", filter);
24
+ },
25
+ invitee_deleted(filter?: WebhookFilter) {
26
+ return providerTrigger("calendly", "invitee.deleted", filter);
27
+ },
28
+ invitee_updated(filter?: WebhookFilter) {
29
+ return providerTrigger("calendly", "invitee.updated", filter);
30
+ },
31
+ scheduled_event_canceled(filter?: WebhookFilter) {
32
+ return providerTrigger("calendly", "scheduled_event.canceled", filter);
33
+ },
34
+ scheduled_event_created(filter?: WebhookFilter) {
35
+ return providerTrigger("calendly", "scheduled_event.created", filter);
36
+ },
37
+ scheduled_event_deleted(filter?: WebhookFilter) {
38
+ return providerTrigger("calendly", "scheduled_event.deleted", filter);
39
+ },
40
+ scheduled_event_updated(filter?: WebhookFilter) {
41
+ return providerTrigger("calendly", "scheduled_event.updated", filter);
42
+ },
43
+ });
@@ -0,0 +1,43 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const clickup = Object.freeze({
7
+ folder_created(filter?: WebhookFilter) {
8
+ return providerTrigger("clickup", "folder.created", filter);
9
+ },
10
+ folder_deleted(filter?: WebhookFilter) {
11
+ return providerTrigger("clickup", "folder.deleted", filter);
12
+ },
13
+ folder_updated(filter?: WebhookFilter) {
14
+ return providerTrigger("clickup", "folder.updated", filter);
15
+ },
16
+ list_created(filter?: WebhookFilter) {
17
+ return providerTrigger("clickup", "list.created", filter);
18
+ },
19
+ list_deleted(filter?: WebhookFilter) {
20
+ return providerTrigger("clickup", "list.deleted", filter);
21
+ },
22
+ list_updated(filter?: WebhookFilter) {
23
+ return providerTrigger("clickup", "list.updated", filter);
24
+ },
25
+ space_created(filter?: WebhookFilter) {
26
+ return providerTrigger("clickup", "space.created", filter);
27
+ },
28
+ space_deleted(filter?: WebhookFilter) {
29
+ return providerTrigger("clickup", "space.deleted", filter);
30
+ },
31
+ space_updated(filter?: WebhookFilter) {
32
+ return providerTrigger("clickup", "space.updated", filter);
33
+ },
34
+ task_created(filter?: WebhookFilter) {
35
+ return providerTrigger("clickup", "task.created", filter);
36
+ },
37
+ task_deleted(filter?: WebhookFilter) {
38
+ return providerTrigger("clickup", "task.deleted", filter);
39
+ },
40
+ task_updated(filter?: WebhookFilter) {
41
+ return providerTrigger("clickup", "task.updated", filter);
42
+ },
43
+ });
@@ -0,0 +1,31 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const cloudflare = Object.freeze({
7
+ access_custom_certificate_expiration_type(filter?: WebhookFilter) {
8
+ return providerTrigger("cloudflare", "access_custom_certificate_expiration_type", filter);
9
+ },
10
+ advanced_http_alert_error(filter?: WebhookFilter) {
11
+ return providerTrigger("cloudflare", "advanced_http_alert_error", filter);
12
+ },
13
+ billing_usage_alert(filter?: WebhookFilter) {
14
+ return providerTrigger("cloudflare", "billing_usage_alert", filter);
15
+ },
16
+ dedicated_ssl_certificate_event_type(filter?: WebhookFilter) {
17
+ return providerTrigger("cloudflare", "dedicated_ssl_certificate_event_type", filter);
18
+ },
19
+ health_check_status_notification(filter?: WebhookFilter) {
20
+ return providerTrigger("cloudflare", "health_check_status_notification", filter);
21
+ },
22
+ http_alert_origin_error(filter?: WebhookFilter) {
23
+ return providerTrigger("cloudflare", "http_alert_origin_error", filter);
24
+ },
25
+ workers_alert(filter?: WebhookFilter) {
26
+ return providerTrigger("cloudflare", "workers_alert", filter);
27
+ },
28
+ workers_observability_alert(filter?: WebhookFilter) {
29
+ return providerTrigger("cloudflare", "workers_observability_alert", filter);
30
+ },
31
+ });
@@ -0,0 +1,25 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const confluence = Object.freeze({
7
+ page_created(filter?: WebhookFilter) {
8
+ return providerTrigger("confluence", "page.created", filter);
9
+ },
10
+ page_deleted(filter?: WebhookFilter) {
11
+ return providerTrigger("confluence", "page.deleted", filter);
12
+ },
13
+ page_updated(filter?: WebhookFilter) {
14
+ return providerTrigger("confluence", "page.updated", filter);
15
+ },
16
+ space_created(filter?: WebhookFilter) {
17
+ return providerTrigger("confluence", "space.created", filter);
18
+ },
19
+ space_deleted(filter?: WebhookFilter) {
20
+ return providerTrigger("confluence", "space.deleted", filter);
21
+ },
22
+ space_updated(filter?: WebhookFilter) {
23
+ return providerTrigger("confluence", "space.updated", filter);
24
+ },
25
+ });
@@ -0,0 +1,28 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const daytona = Object.freeze({
7
+ sandbox_created(filter?: WebhookFilter) {
8
+ return providerTrigger("daytona", "sandbox.created", filter);
9
+ },
10
+ sandbox_state_updated(filter?: WebhookFilter) {
11
+ return providerTrigger("daytona", "sandbox.state.updated", filter);
12
+ },
13
+ snapshot_created(filter?: WebhookFilter) {
14
+ return providerTrigger("daytona", "snapshot.created", filter);
15
+ },
16
+ snapshot_removed(filter?: WebhookFilter) {
17
+ return providerTrigger("daytona", "snapshot.removed", filter);
18
+ },
19
+ snapshot_state_updated(filter?: WebhookFilter) {
20
+ return providerTrigger("daytona", "snapshot.state.updated", filter);
21
+ },
22
+ volume_created(filter?: WebhookFilter) {
23
+ return providerTrigger("daytona", "volume.created", filter);
24
+ },
25
+ volume_state_updated(filter?: WebhookFilter) {
26
+ return providerTrigger("daytona", "volume.state.updated", filter);
27
+ },
28
+ });
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const docker_hub = Object.freeze({
7
+ push(filter?: WebhookFilter) {
8
+ return providerTrigger("docker-hub", "push", filter);
9
+ },
10
+ });
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const dropbox = Object.freeze({
7
+ file_changed(filter?: WebhookFilter) {
8
+ return providerTrigger("dropbox", "file.changed", filter);
9
+ },
10
+ });
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const fathom = Object.freeze({
7
+ new_meeting_content_ready(filter?: WebhookFilter) {
8
+ return providerTrigger("fathom", "new-meeting-content-ready", filter);
9
+ },
10
+ });
@@ -0,0 +1,34 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const gcp = Object.freeze({
7
+ billing_budget_alert(filter?: WebhookFilter) {
8
+ return providerTrigger("gcp", "billing.budget.alert", filter);
9
+ },
10
+ cloud_run_service_created(filter?: WebhookFilter) {
11
+ return providerTrigger("gcp", "cloud-run.service.created", filter);
12
+ },
13
+ cloud_run_service_deleted(filter?: WebhookFilter) {
14
+ return providerTrigger("gcp", "cloud-run.service.deleted", filter);
15
+ },
16
+ cloud_run_service_updated(filter?: WebhookFilter) {
17
+ return providerTrigger("gcp", "cloud-run.service.updated", filter);
18
+ },
19
+ error_reporting_event_logged(filter?: WebhookFilter) {
20
+ return providerTrigger("gcp", "error-reporting.event.logged", filter);
21
+ },
22
+ error_reporting_group_opened(filter?: WebhookFilter) {
23
+ return providerTrigger("gcp", "error-reporting.group.opened", filter);
24
+ },
25
+ error_reporting_group_reopened(filter?: WebhookFilter) {
26
+ return providerTrigger("gcp", "error-reporting.group.reopened", filter);
27
+ },
28
+ monitoring_incident_closed(filter?: WebhookFilter) {
29
+ return providerTrigger("gcp", "monitoring.incident.closed", filter);
30
+ },
31
+ monitoring_incident_open(filter?: WebhookFilter) {
32
+ return providerTrigger("gcp", "monitoring.incident.open", filter);
33
+ },
34
+ });
@@ -0,0 +1,16 @@
1
+ // GENERATED by scripts/generate-triggers.mjs — do not edit.
2
+
3
+ import { providerTrigger } from "../provider-trigger.js";
4
+ import type { WebhookFilter } from "../triggers.js";
5
+
6
+ export const gcs = Object.freeze({
7
+ file_created(filter?: WebhookFilter) {
8
+ return providerTrigger("gcs", "file.created", filter);
9
+ },
10
+ file_deleted(filter?: WebhookFilter) {
11
+ return providerTrigger("gcs", "file.deleted", filter);
12
+ },
13
+ file_updated(filter?: WebhookFilter) {
14
+ return providerTrigger("gcs", "file.updated", filter);
15
+ },
16
+ });
@@ -4,16 +4,82 @@ import { providerTrigger, triggerArgument } from "../provider-trigger.js";
4
4
  import type { WebhookFilter } from "../triggers.js";
5
5
 
6
6
  export const github = Object.freeze({
7
+ check_run(action?: string) {
8
+ return providerTrigger("github", "check_run", action === undefined ? undefined : { action: triggerArgument(action, "action") });
9
+ },
10
+ check_run_completed(filter?: WebhookFilter) {
11
+ return providerTrigger("github", "check_run.completed", filter);
12
+ },
13
+ deployment_status_created(filter?: WebhookFilter) {
14
+ return providerTrigger("github", "deployment_status.created", filter);
15
+ },
16
+ issue_comment(action?: string) {
17
+ return providerTrigger("github", "issue_comment", action === undefined ? undefined : { action: triggerArgument(action, "action") });
18
+ },
19
+ issue_comment_created(filter?: WebhookFilter) {
20
+ return providerTrigger("github", "issue_comment.created", filter);
21
+ },
7
22
  issues(filter?: WebhookFilter) {
8
23
  return providerTrigger("github", "issues", filter);
9
24
  },
25
+ issues_edited(filter?: WebhookFilter) {
26
+ return providerTrigger("github", "issues.edited", filter);
27
+ },
28
+ issues_labeled(filter?: WebhookFilter) {
29
+ return providerTrigger("github", "issues.labeled", filter);
30
+ },
31
+ issues_reopened(filter?: WebhookFilter) {
32
+ return providerTrigger("github", "issues.reopened", filter);
33
+ },
34
+ issues_unlabeled(filter?: WebhookFilter) {
35
+ return providerTrigger("github", "issues.unlabeled", filter);
36
+ },
10
37
  pull_request(action?: string) {
11
38
  return providerTrigger("github", "pull_request", action === undefined ? undefined : { action: triggerArgument(action, "action") });
12
39
  },
13
40
  pull_request_review(filter?: WebhookFilter) {
14
41
  return providerTrigger("github", "pull_request_review", filter);
15
42
  },
43
+ pull_request_review_comment_created(filter?: WebhookFilter) {
44
+ return providerTrigger("github", "pull_request_review_comment.created", filter);
45
+ },
46
+ pull_request_review_thread_resolved(filter?: WebhookFilter) {
47
+ return providerTrigger("github", "pull_request_review_thread.resolved", filter);
48
+ },
49
+ pull_request_review_dismissed(filter?: WebhookFilter) {
50
+ return providerTrigger("github", "pull_request_review.dismissed", filter);
51
+ },
52
+ pull_request_review_edited(filter?: WebhookFilter) {
53
+ return providerTrigger("github", "pull_request_review.edited", filter);
54
+ },
55
+ pull_request_review_submitted(filter?: WebhookFilter) {
56
+ return providerTrigger("github", "pull_request_review.submitted", filter);
57
+ },
58
+ pull_request_edited(filter?: WebhookFilter) {
59
+ return providerTrigger("github", "pull_request.edited", filter);
60
+ },
61
+ pull_request_reopened(filter?: WebhookFilter) {
62
+ return providerTrigger("github", "pull_request.reopened", filter);
63
+ },
16
64
  push(filter?: WebhookFilter) {
17
65
  return providerTrigger("github", "push", filter);
18
66
  },
67
+ status(filter?: WebhookFilter) {
68
+ return providerTrigger("github", "status", filter);
69
+ },
70
+ issues_closed(filter?: WebhookFilter) {
71
+ return providerTrigger("github", "issues.closed", filter);
72
+ },
73
+ issues_opened(filter?: WebhookFilter) {
74
+ return providerTrigger("github", "issues.opened", filter);
75
+ },
76
+ pull_request_closed(filter?: WebhookFilter) {
77
+ return providerTrigger("github", "pull_request.closed", filter);
78
+ },
79
+ pull_request_opened(filter?: WebhookFilter) {
80
+ return providerTrigger("github", "pull_request.opened", filter);
81
+ },
82
+ pull_request_synchronize(filter?: WebhookFilter) {
83
+ return providerTrigger("github", "pull_request.synchronize", filter);
84
+ },
19
85
  });