@relayflows/surface 2.0.8 → 2.0.10

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 (343) hide show
  1. package/README.md +3 -2
  2. package/dist/completion.d.ts +2 -0
  3. package/dist/completion.d.ts.map +1 -1
  4. package/dist/context.d.ts +29 -4
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/effect-transport.d.ts +22 -0
  7. package/dist/effect-transport.d.ts.map +1 -0
  8. package/dist/effect-transport.js +42 -0
  9. package/dist/effect-transport.js.map +1 -0
  10. package/dist/flow.d.ts +30 -5
  11. package/dist/flow.d.ts.map +1 -1
  12. package/dist/flow.js +58 -9
  13. package/dist/flow.js.map +1 -1
  14. package/dist/helper-clients.d.ts +86 -0
  15. package/dist/helper-clients.d.ts.map +1 -0
  16. package/dist/helper-clients.js +30 -0
  17. package/dist/helper-clients.js.map +1 -0
  18. package/dist/helpers/airtable.d.ts +4 -0
  19. package/dist/helpers/airtable.d.ts.map +1 -0
  20. package/dist/helpers/airtable.js +5 -0
  21. package/dist/helpers/airtable.js.map +1 -0
  22. package/dist/helpers/asana.d.ts +5 -0
  23. package/dist/helpers/asana.d.ts.map +1 -0
  24. package/dist/helpers/asana.js +6 -0
  25. package/dist/helpers/asana.js.map +1 -0
  26. package/dist/helpers/azure-blob.d.ts +5 -0
  27. package/dist/helpers/azure-blob.d.ts.map +1 -0
  28. package/dist/helpers/azure-blob.js +6 -0
  29. package/dist/helpers/azure-blob.js.map +1 -0
  30. package/dist/helpers/box.d.ts +5 -0
  31. package/dist/helpers/box.d.ts.map +1 -0
  32. package/dist/helpers/box.js +6 -0
  33. package/dist/helpers/box.js.map +1 -0
  34. package/dist/helpers/calendly.d.ts +5 -0
  35. package/dist/helpers/calendly.d.ts.map +1 -0
  36. package/dist/helpers/calendly.js +6 -0
  37. package/dist/helpers/calendly.js.map +1 -0
  38. package/dist/helpers/clickup.d.ts +5 -0
  39. package/dist/helpers/clickup.d.ts.map +1 -0
  40. package/dist/helpers/clickup.js +6 -0
  41. package/dist/helpers/clickup.js.map +1 -0
  42. package/dist/helpers/clients.d.ts +3 -0
  43. package/dist/helpers/clients.d.ts.map +1 -0
  44. package/dist/helpers/clients.js +46 -0
  45. package/dist/helpers/clients.js.map +1 -0
  46. package/dist/helpers/cloudflare.d.ts +5 -0
  47. package/dist/helpers/cloudflare.d.ts.map +1 -0
  48. package/dist/helpers/cloudflare.js +6 -0
  49. package/dist/helpers/cloudflare.js.map +1 -0
  50. package/dist/helpers/confluence.d.ts +5 -0
  51. package/dist/helpers/confluence.d.ts.map +1 -0
  52. package/dist/helpers/confluence.js +6 -0
  53. package/dist/helpers/confluence.js.map +1 -0
  54. package/dist/helpers/daytona.d.ts +5 -0
  55. package/dist/helpers/daytona.d.ts.map +1 -0
  56. package/dist/helpers/daytona.js +6 -0
  57. package/dist/helpers/daytona.js.map +1 -0
  58. package/dist/helpers/docker-hub.d.ts +4 -0
  59. package/dist/helpers/docker-hub.d.ts.map +1 -0
  60. package/dist/helpers/docker-hub.js +5 -0
  61. package/dist/helpers/docker-hub.js.map +1 -0
  62. package/dist/helpers/dropbox.d.ts +5 -0
  63. package/dist/helpers/dropbox.d.ts.map +1 -0
  64. package/dist/helpers/dropbox.js +6 -0
  65. package/dist/helpers/dropbox.js.map +1 -0
  66. package/dist/helpers/fathom.d.ts +4 -0
  67. package/dist/helpers/fathom.d.ts.map +1 -0
  68. package/dist/helpers/fathom.js +5 -0
  69. package/dist/helpers/fathom.js.map +1 -0
  70. package/dist/helpers/gcp.d.ts +4 -0
  71. package/dist/helpers/gcp.d.ts.map +1 -0
  72. package/dist/helpers/gcp.js +5 -0
  73. package/dist/helpers/gcp.js.map +1 -0
  74. package/dist/helpers/gcs.d.ts +5 -0
  75. package/dist/helpers/gcs.d.ts.map +1 -0
  76. package/dist/helpers/gcs.js +6 -0
  77. package/dist/helpers/gcs.js.map +1 -0
  78. package/dist/helpers/github.d.ts +5 -0
  79. package/dist/helpers/github.d.ts.map +1 -0
  80. package/dist/helpers/github.js +6 -0
  81. package/dist/helpers/github.js.map +1 -0
  82. package/dist/helpers/gitlab.d.ts +5 -0
  83. package/dist/helpers/gitlab.d.ts.map +1 -0
  84. package/dist/helpers/gitlab.js +6 -0
  85. package/dist/helpers/gitlab.js.map +1 -0
  86. package/dist/helpers/gmail.d.ts +5 -0
  87. package/dist/helpers/gmail.d.ts.map +1 -0
  88. package/dist/helpers/gmail.js +6 -0
  89. package/dist/helpers/gmail.js.map +1 -0
  90. package/dist/helpers/google-calendar.d.ts +5 -0
  91. package/dist/helpers/google-calendar.d.ts.map +1 -0
  92. package/dist/helpers/google-calendar.js +6 -0
  93. package/dist/helpers/google-calendar.js.map +1 -0
  94. package/dist/helpers/google-drive.d.ts +5 -0
  95. package/dist/helpers/google-drive.d.ts.map +1 -0
  96. package/dist/helpers/google-drive.js +6 -0
  97. package/dist/helpers/google-drive.js.map +1 -0
  98. package/dist/helpers/granola.d.ts +5 -0
  99. package/dist/helpers/granola.d.ts.map +1 -0
  100. package/dist/helpers/granola.js +6 -0
  101. package/dist/helpers/granola.js.map +1 -0
  102. package/dist/helpers/hubspot.d.ts +5 -0
  103. package/dist/helpers/hubspot.d.ts.map +1 -0
  104. package/dist/helpers/hubspot.js +6 -0
  105. package/dist/helpers/hubspot.js.map +1 -0
  106. package/dist/helpers/index.d.ts +155 -0
  107. package/dist/helpers/index.d.ts.map +1 -0
  108. package/dist/helpers/index.js +105 -0
  109. package/dist/helpers/index.js.map +1 -0
  110. package/dist/helpers/intercom.d.ts +5 -0
  111. package/dist/helpers/intercom.d.ts.map +1 -0
  112. package/dist/helpers/intercom.js +6 -0
  113. package/dist/helpers/intercom.js.map +1 -0
  114. package/dist/helpers/jira.d.ts +5 -0
  115. package/dist/helpers/jira.d.ts.map +1 -0
  116. package/dist/helpers/jira.js +6 -0
  117. package/dist/helpers/jira.js.map +1 -0
  118. package/dist/helpers/linear.d.ts +5 -0
  119. package/dist/helpers/linear.d.ts.map +1 -0
  120. package/dist/helpers/linear.js +6 -0
  121. package/dist/helpers/linear.js.map +1 -0
  122. package/dist/helpers/mailgun.d.ts +5 -0
  123. package/dist/helpers/mailgun.d.ts.map +1 -0
  124. package/dist/helpers/mailgun.js +6 -0
  125. package/dist/helpers/mailgun.js.map +1 -0
  126. package/dist/helpers/mixpanel.d.ts +5 -0
  127. package/dist/helpers/mixpanel.d.ts.map +1 -0
  128. package/dist/helpers/mixpanel.js +6 -0
  129. package/dist/helpers/mixpanel.js.map +1 -0
  130. package/dist/helpers/neon.d.ts +4 -0
  131. package/dist/helpers/neon.d.ts.map +1 -0
  132. package/dist/helpers/neon.js +5 -0
  133. package/dist/helpers/neon.js.map +1 -0
  134. package/dist/helpers/notion.d.ts +5 -0
  135. package/dist/helpers/notion.d.ts.map +1 -0
  136. package/dist/helpers/notion.js +6 -0
  137. package/dist/helpers/notion.js.map +1 -0
  138. package/dist/helpers/onedrive.d.ts +5 -0
  139. package/dist/helpers/onedrive.d.ts.map +1 -0
  140. package/dist/helpers/onedrive.js +6 -0
  141. package/dist/helpers/onedrive.js.map +1 -0
  142. package/dist/helpers/pipedrive.d.ts +5 -0
  143. package/dist/helpers/pipedrive.d.ts.map +1 -0
  144. package/dist/helpers/pipedrive.js +6 -0
  145. package/dist/helpers/pipedrive.js.map +1 -0
  146. package/dist/helpers/postgres.d.ts +5 -0
  147. package/dist/helpers/postgres.d.ts.map +1 -0
  148. package/dist/helpers/postgres.js +6 -0
  149. package/dist/helpers/postgres.js.map +1 -0
  150. package/dist/helpers/posthog.d.ts +4 -0
  151. package/dist/helpers/posthog.d.ts.map +1 -0
  152. package/dist/helpers/posthog.js +5 -0
  153. package/dist/helpers/posthog.js.map +1 -0
  154. package/dist/helpers/providers.d.ts +252 -0
  155. package/dist/helpers/providers.d.ts.map +1 -0
  156. package/dist/helpers/providers.js +305 -0
  157. package/dist/helpers/providers.js.map +1 -0
  158. package/dist/helpers/ramp.d.ts +7 -0
  159. package/dist/helpers/ramp.d.ts.map +1 -0
  160. package/dist/helpers/ramp.js +7 -0
  161. package/dist/helpers/ramp.js.map +1 -0
  162. package/dist/helpers/recall.d.ts +5 -0
  163. package/dist/helpers/recall.d.ts.map +1 -0
  164. package/dist/helpers/recall.js +6 -0
  165. package/dist/helpers/recall.js.map +1 -0
  166. package/dist/helpers/reddit.d.ts +5 -0
  167. package/dist/helpers/reddit.d.ts.map +1 -0
  168. package/dist/helpers/reddit.js +6 -0
  169. package/dist/helpers/reddit.js.map +1 -0
  170. package/dist/helpers/redis.d.ts +5 -0
  171. package/dist/helpers/redis.d.ts.map +1 -0
  172. package/dist/helpers/redis.js +6 -0
  173. package/dist/helpers/redis.js.map +1 -0
  174. package/dist/helpers/s3.d.ts +5 -0
  175. package/dist/helpers/s3.d.ts.map +1 -0
  176. package/dist/helpers/s3.js +6 -0
  177. package/dist/helpers/s3.js.map +1 -0
  178. package/dist/helpers/salesforce.d.ts +5 -0
  179. package/dist/helpers/salesforce.d.ts.map +1 -0
  180. package/dist/helpers/salesforce.js +6 -0
  181. package/dist/helpers/salesforce.js.map +1 -0
  182. package/dist/helpers/segment.d.ts +4 -0
  183. package/dist/helpers/segment.d.ts.map +1 -0
  184. package/dist/helpers/segment.js +5 -0
  185. package/dist/helpers/segment.js.map +1 -0
  186. package/dist/helpers/sendgrid.d.ts +5 -0
  187. package/dist/helpers/sendgrid.d.ts.map +1 -0
  188. package/dist/helpers/sendgrid.js +6 -0
  189. package/dist/helpers/sendgrid.js.map +1 -0
  190. package/dist/helpers/sharepoint.d.ts +5 -0
  191. package/dist/helpers/sharepoint.d.ts.map +1 -0
  192. package/dist/helpers/sharepoint.js +6 -0
  193. package/dist/helpers/sharepoint.js.map +1 -0
  194. package/dist/helpers/shopify.d.ts +4 -0
  195. package/dist/helpers/shopify.d.ts.map +1 -0
  196. package/dist/helpers/shopify.js +5 -0
  197. package/dist/helpers/shopify.js.map +1 -0
  198. package/dist/helpers/shortcut.d.ts +5 -0
  199. package/dist/helpers/shortcut.d.ts.map +1 -0
  200. package/dist/helpers/shortcut.js +6 -0
  201. package/dist/helpers/shortcut.js.map +1 -0
  202. package/dist/helpers/slack.d.ts +17 -0
  203. package/dist/helpers/slack.d.ts.map +1 -0
  204. package/dist/helpers/slack.js +4 -0
  205. package/dist/helpers/slack.js.map +1 -0
  206. package/dist/helpers/stripe.d.ts +5 -0
  207. package/dist/helpers/stripe.d.ts.map +1 -0
  208. package/dist/helpers/stripe.js +6 -0
  209. package/dist/helpers/stripe.js.map +1 -0
  210. package/dist/helpers/teams.d.ts +5 -0
  211. package/dist/helpers/teams.d.ts.map +1 -0
  212. package/dist/helpers/teams.js +6 -0
  213. package/dist/helpers/teams.js.map +1 -0
  214. package/dist/helpers/telegram.d.ts +5 -0
  215. package/dist/helpers/telegram.d.ts.map +1 -0
  216. package/dist/helpers/telegram.js +6 -0
  217. package/dist/helpers/telegram.js.map +1 -0
  218. package/dist/helpers/webhook-server.d.ts +4 -0
  219. package/dist/helpers/webhook-server.d.ts.map +1 -0
  220. package/dist/helpers/webhook-server.js +5 -0
  221. package/dist/helpers/webhook-server.js.map +1 -0
  222. package/dist/helpers/x.d.ts +4 -0
  223. package/dist/helpers/x.d.ts.map +1 -0
  224. package/dist/helpers/x.js +5 -0
  225. package/dist/helpers/x.js.map +1 -0
  226. package/dist/helpers/zendesk.d.ts +5 -0
  227. package/dist/helpers/zendesk.d.ts.map +1 -0
  228. package/dist/helpers/zendesk.js +6 -0
  229. package/dist/helpers/zendesk.js.map +1 -0
  230. package/dist/index.d.ts +11 -4
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +3 -0
  233. package/dist/index.js.map +1 -1
  234. package/dist/memory.d.ts +19 -0
  235. package/dist/memory.d.ts.map +1 -0
  236. package/dist/memory.js +2 -0
  237. package/dist/memory.js.map +1 -0
  238. package/dist/plugin-contract.d.ts +5 -0
  239. package/dist/plugin-contract.d.ts.map +1 -0
  240. package/dist/plugin-contract.js +2 -0
  241. package/dist/plugin-contract.js.map +1 -0
  242. package/dist/provider-trigger.d.ts +13 -0
  243. package/dist/provider-trigger.d.ts.map +1 -0
  244. package/dist/provider-trigger.js +18 -0
  245. package/dist/provider-trigger.js.map +1 -0
  246. package/dist/runtime.d.ts +6 -1
  247. package/dist/runtime.d.ts.map +1 -1
  248. package/dist/runtime.js +5 -0
  249. package/dist/runtime.js.map +1 -1
  250. package/dist/slack.d.ts +34 -0
  251. package/dist/slack.d.ts.map +1 -0
  252. package/dist/slack.js +17 -0
  253. package/dist/slack.js.map +1 -0
  254. package/dist/step.d.ts +43 -1
  255. package/dist/step.d.ts.map +1 -1
  256. package/dist/triggers/github.d.ts +8 -0
  257. package/dist/triggers/github.d.ts.map +1 -0
  258. package/dist/triggers/github.js +17 -0
  259. package/dist/triggers/github.js.map +1 -0
  260. package/dist/triggers/index.d.ts +8 -0
  261. package/dist/triggers/index.d.ts.map +1 -0
  262. package/dist/triggers/index.js +9 -0
  263. package/dist/triggers/index.js.map +1 -0
  264. package/dist/triggers/slack.d.ts +8 -0
  265. package/dist/triggers/slack.d.ts.map +1 -0
  266. package/dist/triggers/slack.js +17 -0
  267. package/dist/triggers/slack.js.map +1 -0
  268. package/dist/triggers.d.ts +15 -0
  269. package/dist/triggers.d.ts.map +1 -0
  270. package/dist/triggers.js +43 -0
  271. package/dist/triggers.js.map +1 -0
  272. package/package.json +21 -2
  273. package/src/completion.ts +3 -0
  274. package/src/context.ts +28 -4
  275. package/src/effect-transport.ts +59 -0
  276. package/src/flow.ts +77 -15
  277. package/src/helper-clients.ts +30 -0
  278. package/src/helpers/README.md +42 -0
  279. package/src/helpers/airtable.ts +9 -0
  280. package/src/helpers/asana.ts +10 -0
  281. package/src/helpers/azure-blob.ts +10 -0
  282. package/src/helpers/box.ts +10 -0
  283. package/src/helpers/calendly.ts +10 -0
  284. package/src/helpers/clickup.ts +10 -0
  285. package/src/helpers/clients.ts +48 -0
  286. package/src/helpers/cloudflare.ts +10 -0
  287. package/src/helpers/confluence.ts +10 -0
  288. package/src/helpers/daytona.ts +10 -0
  289. package/src/helpers/docker-hub.ts +9 -0
  290. package/src/helpers/dropbox.ts +10 -0
  291. package/src/helpers/fathom.ts +9 -0
  292. package/src/helpers/gcp.ts +9 -0
  293. package/src/helpers/gcs.ts +10 -0
  294. package/src/helpers/github.ts +10 -0
  295. package/src/helpers/gitlab.ts +10 -0
  296. package/src/helpers/gmail.ts +10 -0
  297. package/src/helpers/google-calendar.ts +10 -0
  298. package/src/helpers/google-drive.ts +10 -0
  299. package/src/helpers/granola.ts +10 -0
  300. package/src/helpers/hubspot.ts +10 -0
  301. package/src/helpers/index.ts +212 -0
  302. package/src/helpers/intercom.ts +10 -0
  303. package/src/helpers/jira.ts +10 -0
  304. package/src/helpers/linear.ts +10 -0
  305. package/src/helpers/mailgun.ts +10 -0
  306. package/src/helpers/mixpanel.ts +10 -0
  307. package/src/helpers/neon.ts +9 -0
  308. package/src/helpers/notion.ts +10 -0
  309. package/src/helpers/onedrive.ts +10 -0
  310. package/src/helpers/pipedrive.ts +10 -0
  311. package/src/helpers/postgres.ts +10 -0
  312. package/src/helpers/posthog.ts +9 -0
  313. package/src/helpers/providers.ts +305 -0
  314. package/src/helpers/ramp.ts +12 -0
  315. package/src/helpers/recall.ts +10 -0
  316. package/src/helpers/reddit.ts +10 -0
  317. package/src/helpers/redis.ts +10 -0
  318. package/src/helpers/s3.ts +10 -0
  319. package/src/helpers/salesforce.ts +10 -0
  320. package/src/helpers/segment.ts +9 -0
  321. package/src/helpers/sendgrid.ts +10 -0
  322. package/src/helpers/sharepoint.ts +10 -0
  323. package/src/helpers/shopify.ts +9 -0
  324. package/src/helpers/shortcut.ts +10 -0
  325. package/src/helpers/slack.ts +16 -0
  326. package/src/helpers/stripe.ts +10 -0
  327. package/src/helpers/teams.ts +10 -0
  328. package/src/helpers/telegram.ts +10 -0
  329. package/src/helpers/webhook-server.ts +9 -0
  330. package/src/helpers/x.ts +9 -0
  331. package/src/helpers/zendesk.ts +10 -0
  332. package/src/index.ts +26 -2
  333. package/src/memory.ts +20 -0
  334. package/src/plugin-contract.ts +5 -0
  335. package/src/provider-trigger.ts +26 -0
  336. package/src/runtime.ts +8 -0
  337. package/src/slack.ts +47 -0
  338. package/src/step.ts +52 -1
  339. package/src/triggers/README.md +75 -0
  340. package/src/triggers/github.ts +19 -0
  341. package/src/triggers/index.ts +10 -0
  342. package/src/triggers/slack.ts +19 -0
  343. package/src/triggers.ts +49 -0
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type NeonHelper = UnavailableHelper;
7
+
8
+ export const createNeonHelper = (dispatch: EffectDispatcher): NeonHelper =>
9
+ bindHelper("neon", undefined, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { notionClient } from "../helper-clients.js";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type NotionHelper = JournalHelper<ReturnType<typeof notionClient>>;
8
+
9
+ export const createNotionHelper = (dispatch: EffectDispatcher): NotionHelper =>
10
+ bindHelper("notion", notionClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { onedriveClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type OnedriveHelper = JournalHelper<ReturnType<typeof onedriveClient>>;
8
+
9
+ export const createOnedriveHelper = (dispatch: EffectDispatcher): OnedriveHelper =>
10
+ bindHelper("onedrive", onedriveClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { pipedriveClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type PipedriveHelper = JournalHelper<ReturnType<typeof pipedriveClient>>;
8
+
9
+ export const createPipedriveHelper = (dispatch: EffectDispatcher): PipedriveHelper =>
10
+ bindHelper("pipedrive", pipedriveClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { postgresClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type PostgresHelper = JournalHelper<ReturnType<typeof postgresClient>>;
8
+
9
+ export const createPostgresHelper = (dispatch: EffectDispatcher): PostgresHelper =>
10
+ bindHelper("postgres", postgresClient, dispatch);
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type PosthogHelper = UnavailableHelper;
7
+
8
+ export const createPosthogHelper = (dispatch: EffectDispatcher): PosthogHelper =>
9
+ bindHelper("posthog", undefined, dispatch);
@@ -0,0 +1,305 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ export const helperProviders = [
5
+ {
6
+ "provider": "airtable",
7
+ "namespace": "airtable",
8
+ "mockEnv": "RELAYFLOWS_AIRTABLE_MOCK",
9
+ "supported": false
10
+ },
11
+ {
12
+ "provider": "asana",
13
+ "namespace": "asana",
14
+ "mockEnv": "RELAYFLOWS_ASANA_MOCK",
15
+ "supported": true
16
+ },
17
+ {
18
+ "provider": "azure-blob",
19
+ "namespace": "azureBlob",
20
+ "mockEnv": "RELAYFLOWS_AZURE_BLOB_MOCK",
21
+ "supported": true
22
+ },
23
+ {
24
+ "provider": "box",
25
+ "namespace": "box",
26
+ "mockEnv": "RELAYFLOWS_BOX_MOCK",
27
+ "supported": true
28
+ },
29
+ {
30
+ "provider": "calendly",
31
+ "namespace": "calendly",
32
+ "mockEnv": "RELAYFLOWS_CALENDLY_MOCK",
33
+ "supported": true
34
+ },
35
+ {
36
+ "provider": "clickup",
37
+ "namespace": "clickup",
38
+ "mockEnv": "RELAYFLOWS_CLICKUP_MOCK",
39
+ "supported": true
40
+ },
41
+ {
42
+ "provider": "cloudflare",
43
+ "namespace": "cloudflare",
44
+ "mockEnv": "RELAYFLOWS_CLOUDFLARE_MOCK",
45
+ "supported": true
46
+ },
47
+ {
48
+ "provider": "confluence",
49
+ "namespace": "confluence",
50
+ "mockEnv": "RELAYFLOWS_CONFLUENCE_MOCK",
51
+ "supported": true
52
+ },
53
+ {
54
+ "provider": "daytona",
55
+ "namespace": "daytona",
56
+ "mockEnv": "RELAYFLOWS_DAYTONA_MOCK",
57
+ "supported": true
58
+ },
59
+ {
60
+ "provider": "docker-hub",
61
+ "namespace": "dockerHub",
62
+ "mockEnv": "RELAYFLOWS_DOCKER_HUB_MOCK",
63
+ "supported": false
64
+ },
65
+ {
66
+ "provider": "dropbox",
67
+ "namespace": "dropbox",
68
+ "mockEnv": "RELAYFLOWS_DROPBOX_MOCK",
69
+ "supported": true
70
+ },
71
+ {
72
+ "provider": "fathom",
73
+ "namespace": "fathom",
74
+ "mockEnv": "RELAYFLOWS_FATHOM_MOCK",
75
+ "supported": false
76
+ },
77
+ {
78
+ "provider": "gcp",
79
+ "namespace": "gcp",
80
+ "mockEnv": "RELAYFLOWS_GCP_MOCK",
81
+ "supported": false
82
+ },
83
+ {
84
+ "provider": "gcs",
85
+ "namespace": "gcs",
86
+ "mockEnv": "RELAYFLOWS_GCS_MOCK",
87
+ "supported": true
88
+ },
89
+ {
90
+ "provider": "github",
91
+ "namespace": "github",
92
+ "mockEnv": "RELAYFLOWS_GITHUB_MOCK",
93
+ "supported": true
94
+ },
95
+ {
96
+ "provider": "gitlab",
97
+ "namespace": "gitlab",
98
+ "mockEnv": "RELAYFLOWS_GITLAB_MOCK",
99
+ "supported": true
100
+ },
101
+ {
102
+ "provider": "gmail",
103
+ "namespace": "gmail",
104
+ "mockEnv": "RELAYFLOWS_GMAIL_MOCK",
105
+ "supported": true
106
+ },
107
+ {
108
+ "provider": "google-calendar",
109
+ "namespace": "googleCalendar",
110
+ "mockEnv": "RELAYFLOWS_GOOGLE_CALENDAR_MOCK",
111
+ "supported": true
112
+ },
113
+ {
114
+ "provider": "google-drive",
115
+ "namespace": "googleDrive",
116
+ "mockEnv": "RELAYFLOWS_GOOGLE_DRIVE_MOCK",
117
+ "supported": true
118
+ },
119
+ {
120
+ "provider": "granola",
121
+ "namespace": "granola",
122
+ "mockEnv": "RELAYFLOWS_GRANOLA_MOCK",
123
+ "supported": true
124
+ },
125
+ {
126
+ "provider": "hubspot",
127
+ "namespace": "hubspot",
128
+ "mockEnv": "RELAYFLOWS_HUBSPOT_MOCK",
129
+ "supported": true
130
+ },
131
+ {
132
+ "provider": "intercom",
133
+ "namespace": "intercom",
134
+ "mockEnv": "RELAYFLOWS_INTERCOM_MOCK",
135
+ "supported": true
136
+ },
137
+ {
138
+ "provider": "jira",
139
+ "namespace": "jira",
140
+ "mockEnv": "RELAYFLOWS_JIRA_MOCK",
141
+ "supported": true
142
+ },
143
+ {
144
+ "provider": "linear",
145
+ "namespace": "linear",
146
+ "mockEnv": "RELAYFLOWS_LINEAR_MOCK",
147
+ "supported": true
148
+ },
149
+ {
150
+ "provider": "mailgun",
151
+ "namespace": "mailgun",
152
+ "mockEnv": "RELAYFLOWS_MAILGUN_MOCK",
153
+ "supported": true
154
+ },
155
+ {
156
+ "provider": "mixpanel",
157
+ "namespace": "mixpanel",
158
+ "mockEnv": "RELAYFLOWS_MIXPANEL_MOCK",
159
+ "supported": true
160
+ },
161
+ {
162
+ "provider": "neon",
163
+ "namespace": "neon",
164
+ "mockEnv": "RELAYFLOWS_NEON_MOCK",
165
+ "supported": false
166
+ },
167
+ {
168
+ "provider": "notion",
169
+ "namespace": "notion",
170
+ "mockEnv": "RELAYFLOWS_NOTION_MOCK",
171
+ "supported": true
172
+ },
173
+ {
174
+ "provider": "onedrive",
175
+ "namespace": "onedrive",
176
+ "mockEnv": "RELAYFLOWS_ONEDRIVE_MOCK",
177
+ "supported": true
178
+ },
179
+ {
180
+ "provider": "pipedrive",
181
+ "namespace": "pipedrive",
182
+ "mockEnv": "RELAYFLOWS_PIPEDRIVE_MOCK",
183
+ "supported": true
184
+ },
185
+ {
186
+ "provider": "postgres",
187
+ "namespace": "postgres",
188
+ "mockEnv": "RELAYFLOWS_POSTGRES_MOCK",
189
+ "supported": true
190
+ },
191
+ {
192
+ "provider": "posthog",
193
+ "namespace": "posthog",
194
+ "mockEnv": "RELAYFLOWS_POSTHOG_MOCK",
195
+ "supported": false
196
+ },
197
+ {
198
+ "provider": "ramp",
199
+ "namespace": "ramp",
200
+ "mockEnv": "RELAYFLOWS_RAMP_MOCK",
201
+ "supported": true
202
+ },
203
+ {
204
+ "provider": "recall",
205
+ "namespace": "recall",
206
+ "mockEnv": "RELAYFLOWS_RECALL_MOCK",
207
+ "supported": true
208
+ },
209
+ {
210
+ "provider": "reddit",
211
+ "namespace": "reddit",
212
+ "mockEnv": "RELAYFLOWS_REDDIT_MOCK",
213
+ "supported": true
214
+ },
215
+ {
216
+ "provider": "redis",
217
+ "namespace": "redis",
218
+ "mockEnv": "RELAYFLOWS_REDIS_MOCK",
219
+ "supported": true
220
+ },
221
+ {
222
+ "provider": "s3",
223
+ "namespace": "s3",
224
+ "mockEnv": "RELAYFLOWS_S3_MOCK",
225
+ "supported": true
226
+ },
227
+ {
228
+ "provider": "salesforce",
229
+ "namespace": "salesforce",
230
+ "mockEnv": "RELAYFLOWS_SALESFORCE_MOCK",
231
+ "supported": true
232
+ },
233
+ {
234
+ "provider": "segment",
235
+ "namespace": "segment",
236
+ "mockEnv": "RELAYFLOWS_SEGMENT_MOCK",
237
+ "supported": false
238
+ },
239
+ {
240
+ "provider": "sendgrid",
241
+ "namespace": "sendgrid",
242
+ "mockEnv": "RELAYFLOWS_SENDGRID_MOCK",
243
+ "supported": true
244
+ },
245
+ {
246
+ "provider": "sharepoint",
247
+ "namespace": "sharepoint",
248
+ "mockEnv": "RELAYFLOWS_SHAREPOINT_MOCK",
249
+ "supported": true
250
+ },
251
+ {
252
+ "provider": "shopify",
253
+ "namespace": "shopify",
254
+ "mockEnv": "RELAYFLOWS_SHOPIFY_MOCK",
255
+ "supported": false
256
+ },
257
+ {
258
+ "provider": "shortcut",
259
+ "namespace": "shortcut",
260
+ "mockEnv": "RELAYFLOWS_SHORTCUT_MOCK",
261
+ "supported": true
262
+ },
263
+ {
264
+ "provider": "slack",
265
+ "namespace": "slack",
266
+ "mockEnv": "RELAYFLOWS_SLACK_MOCK",
267
+ "supported": true
268
+ },
269
+ {
270
+ "provider": "stripe",
271
+ "namespace": "stripe",
272
+ "mockEnv": "RELAYFLOWS_STRIPE_MOCK",
273
+ "supported": true
274
+ },
275
+ {
276
+ "provider": "teams",
277
+ "namespace": "teams",
278
+ "mockEnv": "RELAYFLOWS_TEAMS_MOCK",
279
+ "supported": true
280
+ },
281
+ {
282
+ "provider": "telegram",
283
+ "namespace": "telegram",
284
+ "mockEnv": "RELAYFLOWS_TELEGRAM_MOCK",
285
+ "supported": true
286
+ },
287
+ {
288
+ "provider": "webhook-server",
289
+ "namespace": "webhookServer",
290
+ "mockEnv": "RELAYFLOWS_WEBHOOK_SERVER_MOCK",
291
+ "supported": false
292
+ },
293
+ {
294
+ "provider": "x",
295
+ "namespace": "x",
296
+ "mockEnv": "RELAYFLOWS_X_MOCK",
297
+ "supported": false
298
+ },
299
+ {
300
+ "provider": "zendesk",
301
+ "namespace": "zendesk",
302
+ "mockEnv": "RELAYFLOWS_ZENDESK_MOCK",
303
+ "supported": true
304
+ }
305
+ ] as const;
@@ -0,0 +1,12 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { providerClient } from "@relayfile/relay-helpers";
5
+ import type { RelayClientOptions } from "@relayfile/relay-helpers/transport";
6
+ const rampClient = (options: RelayClientOptions) => providerClient("ramp", options);
7
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
8
+
9
+ export type RampHelper = JournalHelper<ReturnType<typeof rampClient>>;
10
+
11
+ export const createRampHelper = (dispatch: EffectDispatcher): RampHelper =>
12
+ bindHelper("ramp", rampClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { recallClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type RecallHelper = JournalHelper<ReturnType<typeof recallClient>>;
8
+
9
+ export const createRecallHelper = (dispatch: EffectDispatcher): RecallHelper =>
10
+ bindHelper("recall", recallClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { redditClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type RedditHelper = JournalHelper<ReturnType<typeof redditClient>>;
8
+
9
+ export const createRedditHelper = (dispatch: EffectDispatcher): RedditHelper =>
10
+ bindHelper("reddit", redditClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { redisClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type RedisHelper = JournalHelper<ReturnType<typeof redisClient>>;
8
+
9
+ export const createRedisHelper = (dispatch: EffectDispatcher): RedisHelper =>
10
+ bindHelper("redis", redisClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { s3Client } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type S3Helper = JournalHelper<ReturnType<typeof s3Client>>;
8
+
9
+ export const createS3Helper = (dispatch: EffectDispatcher): S3Helper =>
10
+ bindHelper("s3", s3Client, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { salesforceClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type SalesforceHelper = JournalHelper<ReturnType<typeof salesforceClient>>;
8
+
9
+ export const createSalesforceHelper = (dispatch: EffectDispatcher): SalesforceHelper =>
10
+ bindHelper("salesforce", salesforceClient, dispatch);
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type SegmentHelper = UnavailableHelper;
7
+
8
+ export const createSegmentHelper = (dispatch: EffectDispatcher): SegmentHelper =>
9
+ bindHelper("segment", undefined, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { sendgridClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type SendgridHelper = JournalHelper<ReturnType<typeof sendgridClient>>;
8
+
9
+ export const createSendgridHelper = (dispatch: EffectDispatcher): SendgridHelper =>
10
+ bindHelper("sendgrid", sendgridClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { sharepointClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type SharepointHelper = JournalHelper<ReturnType<typeof sharepointClient>>;
8
+
9
+ export const createSharepointHelper = (dispatch: EffectDispatcher): SharepointHelper =>
10
+ bindHelper("sharepoint", sharepointClient, dispatch);
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type ShopifyHelper = UnavailableHelper;
7
+
8
+ export const createShopifyHelper = (dispatch: EffectDispatcher): ShopifyHelper =>
9
+ bindHelper("shopify", undefined, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { shortcutClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type ShortcutHelper = JournalHelper<ReturnType<typeof shortcutClient>>;
8
+
9
+ export const createShortcutHelper = (dispatch: EffectDispatcher): ShortcutHelper =>
10
+ bindHelper("shortcut", shortcutClient, dispatch);
@@ -0,0 +1,16 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import type { SlackHelper as RuntimeSlackHelper } from "../slack.js";
5
+
6
+ /** Generated from the pinned Slack OpenAPI fragments in scripts/slack-message-schema.json. */
7
+ export type SlackBlock = { type: string; [key: string]: unknown; };
8
+ export type SlackAttachment = { [key: string]: unknown; };
9
+
10
+ /** Adapter argument shapes over the journal-backed Slack dispatcher. */
11
+ export interface SlackHelper {
12
+ post(...args: Parameters<RuntimeSlackHelper["post"]>): ReturnType<RuntimeSlackHelper["post"]>;
13
+ dm(user: string, text: string): ReturnType<RuntimeSlackHelper["dm"]>;
14
+ reply(channel: string, threadTs: string, text: string): ReturnType<RuntimeSlackHelper["reply"]>;
15
+ react(channel: string, messageTs: string, emoji: string): ReturnType<RuntimeSlackHelper["react"]>;
16
+ }
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { stripeClient } from "../helper-clients.js";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type StripeHelper = JournalHelper<ReturnType<typeof stripeClient>>;
8
+
9
+ export const createStripeHelper = (dispatch: EffectDispatcher): StripeHelper =>
10
+ bindHelper("stripe", stripeClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { teamsClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type TeamsHelper = JournalHelper<ReturnType<typeof teamsClient>>;
8
+
9
+ export const createTeamsHelper = (dispatch: EffectDispatcher): TeamsHelper =>
10
+ bindHelper("teams", teamsClient, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { telegramClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type TelegramHelper = JournalHelper<ReturnType<typeof telegramClient>>;
8
+
9
+ export const createTelegramHelper = (dispatch: EffectDispatcher): TelegramHelper =>
10
+ bindHelper("telegram", telegramClient, dispatch);
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type WebhookServerHelper = UnavailableHelper;
7
+
8
+ export const createWebhookServerHelper = (dispatch: EffectDispatcher): WebhookServerHelper =>
9
+ bindHelper("webhook-server", undefined, dispatch);
@@ -0,0 +1,9 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { bindHelper, type EffectDispatcher, type JournalHelper, type UnavailableHelper } from "../effect-transport.js";
5
+
6
+ export type XHelper = UnavailableHelper;
7
+
8
+ export const createXHelper = (dispatch: EffectDispatcher): XHelper =>
9
+ bindHelper("x", undefined, dispatch);
@@ -0,0 +1,10 @@
1
+ // GENERATED by scripts/generate-helpers.mjs — do not edit.
2
+ // Run `npm run gen --prefix packages/surface` from the repository root.
3
+
4
+ import { zendeskClient } from "@relayfile/relay-helpers";
5
+ import { bindHelper, type EffectDispatcher, type JournalHelper } from "../effect-transport.js";
6
+
7
+ export type ZendeskHelper = JournalHelper<ReturnType<typeof zendeskClient>>;
8
+
9
+ export const createZendeskHelper = (dispatch: EffectDispatcher): ZendeskHelper =>
10
+ bindHelper("zendesk", zendeskClient, dispatch);
package/src/index.ts CHANGED
@@ -7,16 +7,40 @@ export type {
7
7
  WorkerSummary,
8
8
  CloudHelper,
9
9
  } from "./cloud.js";
10
- export type { AgentOptions, AgentResult, Ctx } from "./context.js";
10
+ export type { AgentOptions, AgentResult, LlmOptions, Ctx } from "./context.js";
11
11
  export {
12
12
  COMPLETION_REASONS,
13
13
  RUN_COMPLETION_REASONS,
14
14
  type CompletionReason,
15
15
  type RunCompletionReason,
16
+ type FlowCompletionReason,
16
17
  } from "./completion.js";
17
- export type { Step } from "./step.js";
18
+ export type {
19
+ Step,
20
+ NamedGate,
21
+ ReferencesInputNamedGate,
22
+ SubprocessNamedGate,
23
+ WordCountBoundsNamedGate,
24
+ RegexMatchNamedGate,
25
+ } from "./step.js";
18
26
  export {
19
27
  flow,
20
28
  type FlowHandle,
29
+ type TriggeredFlowHandle,
21
30
  type FlowHeader,
22
31
  } from "./flow.js";
32
+ export {
33
+ flowRunWritebackIdempotency,
34
+ type SlackHelper,
35
+ type SlackReceipt,
36
+ type SlackBlock,
37
+ type SlackAttachment,
38
+ type SlackPostMessage,
39
+ type SlackPostOptions,
40
+ } from "./slack.js";
41
+ export type { Helpers } from "./helpers/index.js";
42
+ export type { MemoryHelper, MemoryFinding, MemoryRecallOptions, HistoryEntry, TrajectoryEntry } from "./memory.js";
43
+ export { webhook, type TriggerSource, type WebhookFilter, type WebhookValue } from "./triggers.js";
44
+ export * from "./triggers/index.js";
45
+ export type { ProviderTriggerSource } from "./provider-trigger.js";
46
+ export type { PluginMethod, PluginPrimitive } from './plugin-contract.js';
package/src/memory.ts ADDED
@@ -0,0 +1,20 @@
1
+ import type { HistoryEntry, SearchOptions, TrajectoryEntry } from "ai-hist";
2
+
3
+ export type { HistoryEntry, TrajectoryEntry } from "ai-hist";
4
+ /** Reads cannot widen the current flow's script scope. */
5
+ export type MemoryRecallOptions = Omit<SearchOptions, "project">;
6
+ export interface MemoryFinding {
7
+ question: string;
8
+ chosen: string;
9
+ reasoning: string;
10
+ alternatives?: string[];
11
+ }
12
+
13
+ export interface MemoryHelper {
14
+ /** Local script memory read; does not journal a step. */
15
+ recall(query: string, options?: MemoryRecallOptions): Promise<HistoryEntry[]>;
16
+ /** Best matching decision trajectory, or an empty array. No journal step. */
17
+ why(task: string): Promise<TrajectoryEntry[]>;
18
+ /** Reserved for the journal-backed write slice; currently refuses. */
19
+ learn(finding: MemoryFinding): Promise<void>;
20
+ }
@@ -0,0 +1,5 @@
1
+ import type { Step } from './step.js';
2
+
3
+ /** Plugins augment Ctx in @relayflows/surface; no catch-all index signature. */
4
+ export type PluginMethod<Args, Output = unknown> = (args: Args) => Step<Output>;
5
+ export type PluginPrimitive = 'run' | 'llm' | 'agent' | 'effect' | 'wait';