@xyne/workflow-sdk 3.2.36 → 3.2.38

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 (261) hide show
  1. package/dist/agents/agent-step.d.ts +2 -2
  2. package/dist/agents/host-agent-step.d.ts +1 -1
  3. package/dist/builder/index.d.ts +2 -2
  4. package/dist/builder/index.d.ts.map +1 -1
  5. package/dist/builder/index.js +1 -1
  6. package/dist/builder/index.js.map +1 -1
  7. package/dist/client/events-client.d.ts +57 -0
  8. package/dist/client/events-client.d.ts.map +1 -0
  9. package/dist/client/events-client.js +107 -0
  10. package/dist/client/events-client.js.map +1 -0
  11. package/dist/client/index.d.ts +2 -0
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/sse.d.ts +30 -0
  14. package/dist/client/sse.d.ts.map +1 -0
  15. package/dist/client/sse.js +76 -0
  16. package/dist/client/sse.js.map +1 -0
  17. package/dist/client/types.d.ts +31 -6
  18. package/dist/client/types.d.ts.map +1 -1
  19. package/dist/client/url.d.ts +11 -0
  20. package/dist/client/url.d.ts.map +1 -0
  21. package/dist/client/url.js +28 -0
  22. package/dist/client/url.js.map +1 -0
  23. package/dist/client/workflow-client.d.ts +1 -1
  24. package/dist/client/workflow-client.d.ts.map +1 -1
  25. package/dist/client/workflow-client.js +32 -20
  26. package/dist/client/workflow-client.js.map +1 -1
  27. package/dist/common/citation-ref.d.ts +4 -4
  28. package/dist/common/credentials.d.ts +107 -0
  29. package/dist/common/credentials.d.ts.map +1 -1
  30. package/dist/common/credentials.js +67 -0
  31. package/dist/common/credentials.js.map +1 -1
  32. package/dist/common/index.d.ts +2 -2
  33. package/dist/common/index.d.ts.map +1 -1
  34. package/dist/common/index.js +2 -2
  35. package/dist/common/index.js.map +1 -1
  36. package/dist/connectors/builtin/builtin-connector.d.ts +32 -0
  37. package/dist/connectors/builtin/builtin-connector.d.ts.map +1 -0
  38. package/dist/connectors/builtin/builtin-connector.js +62 -0
  39. package/dist/connectors/builtin/builtin-connector.js.map +1 -0
  40. package/dist/connectors/builtin/credentials.d.ts +18 -0
  41. package/dist/connectors/builtin/credentials.d.ts.map +1 -0
  42. package/dist/connectors/builtin/credentials.js +50 -0
  43. package/dist/connectors/builtin/credentials.js.map +1 -0
  44. package/dist/connectors/builtin/steps/code.step.d.ts +99 -0
  45. package/dist/connectors/builtin/steps/code.step.d.ts.map +1 -0
  46. package/dist/connectors/builtin/steps/code.step.js +152 -0
  47. package/dist/connectors/builtin/steps/code.step.js.map +1 -0
  48. package/dist/connectors/builtin/steps/conditional.step.d.ts +182 -0
  49. package/dist/connectors/builtin/steps/conditional.step.d.ts.map +1 -0
  50. package/dist/connectors/builtin/steps/conditional.step.js +82 -0
  51. package/dist/connectors/builtin/steps/conditional.step.js.map +1 -0
  52. package/dist/connectors/builtin/steps/dedup.step.d.ts +65 -0
  53. package/dist/connectors/builtin/steps/dedup.step.d.ts.map +1 -0
  54. package/dist/connectors/builtin/steps/dedup.step.js +61 -0
  55. package/dist/connectors/builtin/steps/dedup.step.js.map +1 -0
  56. package/dist/connectors/builtin/steps/http-request.step.d.ts +1027 -0
  57. package/dist/connectors/builtin/steps/http-request.step.d.ts.map +1 -0
  58. package/dist/connectors/builtin/steps/http-request.step.js +497 -0
  59. package/dist/connectors/builtin/steps/http-request.step.js.map +1 -0
  60. package/dist/connectors/builtin/steps/loop.step.d.ts +100 -0
  61. package/dist/connectors/builtin/steps/loop.step.d.ts.map +1 -0
  62. package/dist/connectors/builtin/steps/loop.step.js +73 -0
  63. package/dist/connectors/builtin/steps/loop.step.js.map +1 -0
  64. package/dist/connectors/builtin/steps/map.step.d.ts +148 -0
  65. package/dist/connectors/builtin/steps/map.step.d.ts.map +1 -0
  66. package/dist/connectors/builtin/steps/map.step.js +111 -0
  67. package/dist/connectors/builtin/steps/map.step.js.map +1 -0
  68. package/dist/connectors/builtin/steps/parallel.step.d.ts +246 -0
  69. package/dist/connectors/builtin/steps/parallel.step.d.ts.map +1 -0
  70. package/dist/connectors/builtin/steps/parallel.step.js +175 -0
  71. package/dist/connectors/builtin/steps/parallel.step.js.map +1 -0
  72. package/dist/connectors/builtin/steps/ssrf-guard.d.ts +9 -0
  73. package/dist/connectors/builtin/steps/ssrf-guard.d.ts.map +1 -0
  74. package/dist/connectors/builtin/steps/ssrf-guard.js +115 -0
  75. package/dist/connectors/builtin/steps/ssrf-guard.js.map +1 -0
  76. package/dist/connectors/builtin/steps/switch.step.d.ts +235 -0
  77. package/dist/connectors/builtin/steps/switch.step.d.ts.map +1 -0
  78. package/dist/connectors/builtin/steps/switch.step.js +101 -0
  79. package/dist/connectors/builtin/steps/switch.step.js.map +1 -0
  80. package/dist/connectors/builtin/steps/wait.step.d.ts +1072 -0
  81. package/dist/connectors/builtin/steps/wait.step.d.ts.map +1 -0
  82. package/dist/connectors/builtin/steps/wait.step.js +254 -0
  83. package/dist/connectors/builtin/steps/wait.step.js.map +1 -0
  84. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts +44 -0
  85. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts.map +1 -0
  86. package/dist/connectors/builtin/triggers/default-cron-trigger.js +31 -0
  87. package/dist/connectors/builtin/triggers/default-cron-trigger.js.map +1 -0
  88. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts +32 -0
  89. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts.map +1 -0
  90. package/dist/connectors/builtin/triggers/default-event-trigger.js +21 -0
  91. package/dist/connectors/builtin/triggers/default-event-trigger.js.map +1 -0
  92. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts +45 -0
  93. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts.map +1 -0
  94. package/dist/connectors/builtin/triggers/default-manual-trigger.js +51 -0
  95. package/dist/connectors/builtin/triggers/default-manual-trigger.js.map +1 -0
  96. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts +31 -0
  97. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts.map +1 -0
  98. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js +40 -0
  99. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js.map +1 -0
  100. package/dist/connectors/core/base-connector.d.ts +45 -0
  101. package/dist/connectors/core/base-connector.d.ts.map +1 -0
  102. package/dist/connectors/core/base-connector.js +3 -0
  103. package/dist/connectors/core/base-connector.js.map +1 -0
  104. package/dist/connectors/core/connector-registry.d.ts +130 -0
  105. package/dist/connectors/core/connector-registry.d.ts.map +1 -0
  106. package/dist/connectors/core/connector-registry.js +357 -0
  107. package/dist/connectors/core/connector-registry.js.map +1 -0
  108. package/dist/connectors/core/credentials.d.ts +104 -0
  109. package/dist/connectors/core/credentials.d.ts.map +1 -0
  110. package/dist/connectors/core/credentials.js +67 -0
  111. package/dist/connectors/core/credentials.js.map +1 -0
  112. package/dist/connectors/core/index.d.ts +7 -0
  113. package/dist/connectors/core/index.d.ts.map +1 -0
  114. package/dist/connectors/core/index.js +5 -0
  115. package/dist/connectors/core/index.js.map +1 -0
  116. package/dist/engine/available-context.d.ts +3 -4
  117. package/dist/engine/available-context.d.ts.map +1 -1
  118. package/dist/engine/available-context.js +17 -13
  119. package/dist/engine/available-context.js.map +1 -1
  120. package/dist/engine/config-validator.d.ts +13 -5
  121. package/dist/engine/config-validator.d.ts.map +1 -1
  122. package/dist/engine/config-validator.js +89 -11
  123. package/dist/engine/config-validator.js.map +1 -1
  124. package/dist/engine/credential-resolver.d.ts +42 -0
  125. package/dist/engine/credential-resolver.d.ts.map +1 -0
  126. package/dist/engine/credential-resolver.js +63 -0
  127. package/dist/engine/credential-resolver.js.map +1 -0
  128. package/dist/engine/workflow-executor.d.ts +15 -9
  129. package/dist/engine/workflow-executor.d.ts.map +1 -1
  130. package/dist/engine/workflow-executor.js +31 -40
  131. package/dist/engine/workflow-executor.js.map +1 -1
  132. package/dist/events/in-memory-adapter.d.ts +15 -0
  133. package/dist/events/in-memory-adapter.d.ts.map +1 -0
  134. package/dist/events/in-memory-adapter.js +50 -0
  135. package/dist/events/in-memory-adapter.js.map +1 -0
  136. package/dist/events/types.d.ts +154 -0
  137. package/dist/events/types.d.ts.map +1 -0
  138. package/dist/events/types.js +34 -0
  139. package/dist/events/types.js.map +1 -0
  140. package/dist/index.d.ts +50 -31
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +39 -16
  143. package/dist/index.js.map +1 -1
  144. package/dist/ingest/body.d.ts +18 -0
  145. package/dist/ingest/body.d.ts.map +1 -0
  146. package/dist/ingest/body.js +47 -0
  147. package/dist/ingest/body.js.map +1 -0
  148. package/dist/ingest/filter.d.ts +11 -0
  149. package/dist/ingest/filter.d.ts.map +1 -0
  150. package/dist/ingest/filter.js +23 -0
  151. package/dist/ingest/filter.js.map +1 -0
  152. package/dist/ingest/headers.d.ts +3 -0
  153. package/dist/ingest/headers.d.ts.map +1 -0
  154. package/dist/ingest/headers.js +11 -0
  155. package/dist/ingest/headers.js.map +1 -0
  156. package/dist/ingest/types.d.ts +50 -0
  157. package/dist/ingest/types.d.ts.map +1 -0
  158. package/dist/ingest/types.js +9 -0
  159. package/dist/ingest/types.js.map +1 -0
  160. package/dist/persistence/in-memory-adapter.d.ts +4 -8
  161. package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
  162. package/dist/persistence/in-memory-adapter.js +8 -25
  163. package/dist/persistence/in-memory-adapter.js.map +1 -1
  164. package/dist/persistence/types.d.ts +5 -19
  165. package/dist/persistence/types.d.ts.map +1 -1
  166. package/dist/router/types.d.ts +31 -3
  167. package/dist/router/types.d.ts.map +1 -1
  168. package/dist/router/workflow-router.d.ts +4 -3
  169. package/dist/router/workflow-router.d.ts.map +1 -1
  170. package/dist/router/workflow-router.js +258 -63
  171. package/dist/router/workflow-router.js.map +1 -1
  172. package/dist/runtime/types.d.ts +36 -56
  173. package/dist/runtime/types.d.ts.map +1 -1
  174. package/dist/runtime/workflow-runtime.d.ts +70 -46
  175. package/dist/runtime/workflow-runtime.d.ts.map +1 -1
  176. package/dist/runtime/workflow-runtime.js +217 -141
  177. package/dist/runtime/workflow-runtime.js.map +1 -1
  178. package/dist/steps/base-step.d.ts +23 -0
  179. package/dist/steps/base-step.d.ts.map +1 -1
  180. package/dist/steps/base-step.js +22 -0
  181. package/dist/steps/base-step.js.map +1 -1
  182. package/dist/steps/step-descriptor.d.ts +52 -0
  183. package/dist/steps/step-descriptor.d.ts.map +1 -0
  184. package/dist/steps/step-descriptor.js +32 -0
  185. package/dist/steps/step-descriptor.js.map +1 -0
  186. package/dist/testing/authz-conformance.d.ts.map +1 -1
  187. package/dist/testing/authz-conformance.js +6 -7
  188. package/dist/testing/authz-conformance.js.map +1 -1
  189. package/dist/testing/index.d.ts +1 -0
  190. package/dist/testing/index.d.ts.map +1 -1
  191. package/dist/testing/index.js +1 -0
  192. package/dist/testing/index.js.map +1 -1
  193. package/dist/testing/mock-step-context.d.ts +1 -0
  194. package/dist/testing/mock-step-context.d.ts.map +1 -1
  195. package/dist/testing/mock-step-context.js +1 -0
  196. package/dist/testing/mock-step-context.js.map +1 -1
  197. package/dist/testing/test-connector.d.ts +40 -0
  198. package/dist/testing/test-connector.d.ts.map +1 -0
  199. package/dist/testing/test-connector.js +39 -0
  200. package/dist/testing/test-connector.js.map +1 -0
  201. package/dist/triggers/api-trigger.d.ts +15 -0
  202. package/dist/triggers/api-trigger.d.ts.map +1 -0
  203. package/dist/triggers/api-trigger.js +14 -0
  204. package/dist/triggers/api-trigger.js.map +1 -0
  205. package/dist/triggers/base-trigger.d.ts +29 -0
  206. package/dist/triggers/base-trigger.d.ts.map +1 -1
  207. package/dist/triggers/base-trigger.js +16 -0
  208. package/dist/triggers/base-trigger.js.map +1 -1
  209. package/dist/triggers/trigger-descriptor.d.ts +42 -0
  210. package/dist/triggers/trigger-descriptor.d.ts.map +1 -0
  211. package/dist/triggers/trigger-descriptor.js +29 -0
  212. package/dist/triggers/trigger-descriptor.js.map +1 -0
  213. package/dist/triggers/webhook-trigger.d.ts +31 -38
  214. package/dist/triggers/webhook-trigger.d.ts.map +1 -1
  215. package/dist/triggers/webhook-trigger.js +19 -6
  216. package/dist/triggers/webhook-trigger.js.map +1 -1
  217. package/dist/types/known-types.d.ts +0 -1
  218. package/dist/types/known-types.d.ts.map +1 -1
  219. package/dist/types/known-types.js +0 -1
  220. package/dist/types/known-types.js.map +1 -1
  221. package/dist/types/validation.d.ts +3 -1
  222. package/dist/types/validation.d.ts.map +1 -1
  223. package/dist/types/validation.js +2 -0
  224. package/dist/types/validation.js.map +1 -1
  225. package/dist/types/workflow-config.d.ts +23 -0
  226. package/dist/types/workflow-config.d.ts.map +1 -1
  227. package/dist/types/workflow-config.js +8 -0
  228. package/dist/types/workflow-config.js.map +1 -1
  229. package/dist/util/credential-slot-schema.d.ts +20 -0
  230. package/dist/util/credential-slot-schema.d.ts.map +1 -0
  231. package/dist/util/credential-slot-schema.js +30 -0
  232. package/dist/util/credential-slot-schema.js.map +1 -0
  233. package/dist/util/event-channel.d.ts +25 -0
  234. package/dist/util/event-channel.d.ts.map +1 -0
  235. package/dist/util/event-channel.js +61 -0
  236. package/dist/util/event-channel.js.map +1 -0
  237. package/package.json +1 -1
  238. package/dist/common/expression-eval.d.ts +0 -35
  239. package/dist/common/expression-eval.d.ts.map +0 -1
  240. package/dist/common/expression-eval.js +0 -214
  241. package/dist/common/expression-eval.js.map +0 -1
  242. package/dist/common/principal.d.ts +0 -45
  243. package/dist/common/principal.d.ts.map +0 -1
  244. package/dist/common/principal.js +0 -9
  245. package/dist/common/principal.js.map +0 -1
  246. package/dist/steps/builtin/transform.step.d.ts +0 -247
  247. package/dist/steps/builtin/transform.step.d.ts.map +0 -1
  248. package/dist/steps/builtin/transform.step.js +0 -135
  249. package/dist/steps/builtin/transform.step.js.map +0 -1
  250. package/dist/types/attachment.d.ts +0 -23
  251. package/dist/types/attachment.d.ts.map +0 -1
  252. package/dist/types/attachment.js +0 -2
  253. package/dist/types/attachment.js.map +0 -1
  254. package/dist/types/resume-payload.d.ts +0 -34
  255. package/dist/types/resume-payload.d.ts.map +0 -1
  256. package/dist/types/resume-payload.js +0 -12
  257. package/dist/types/resume-payload.js.map +0 -1
  258. package/dist/util/executable-check.d.ts +0 -42
  259. package/dist/util/executable-check.d.ts.map +0 -1
  260. package/dist/util/executable-check.js +0 -115
  261. package/dist/util/executable-check.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ import type { z } from 'zod';
2
+ import type { BaseStep } from '../../steps/base-step.js';
3
+ import type { BaseTrigger } from '../../triggers/base-trigger.js';
4
+ import type { CredentialDefinition } from './credentials.js';
5
+ export type AnyStep = BaseStep<z.ZodTypeAny, Record<string, unknown>>;
6
+ /** A trigger of any config shape. Widened for the same reason as {@link AnyStep}. */
7
+ export type AnyTrigger = BaseTrigger<z.ZodTypeAny>;
8
+ export declare abstract class BaseConnector {
9
+ /**
10
+ * Stable connector ID — `"gmail"`, `"http"`, `"builtin"`.
11
+ *
12
+ * Unique across the registry: registering two connectors under one ID is
13
+ * rejected at boot, since it is almost always a duplicated wiring line.
14
+ */
15
+ abstract readonly id: string;
16
+ /** Connector version, e.g. `"1.0.0"`. Independent of the SDK's version. */
17
+ abstract readonly version: string;
18
+ /** Display name for the builder's palette group — `"Gmail"`. */
19
+ abstract readonly name: string;
20
+ abstract readonly description: string;
21
+ /**
22
+ * Every credential type this connector offers.
23
+ *
24
+ * The superset: a single step accepts a SUBSET of these through its own
25
+ * `credential` requirement, and the registry rejects a step that accepts one
26
+ * this connector never declared. Build each with `defineCredential` so the ID
27
+ * is derived from `id` above rather than written by hand.
28
+ *
29
+ * Empty is the common answer — a connector whose steps talk to nothing
30
+ * outside the deployment has no secret to hold.
31
+ */
32
+ abstract readonly credentials: readonly CredentialDefinition[];
33
+ /** The implemented steps this connector provides. */
34
+ abstract readonly steps: readonly AnyStep[];
35
+ /**
36
+ * The implemented triggers this connector provides.
37
+ *
38
+ * Empty is a legitimate, common answer — Gmail has no trigger, and plan §7 is
39
+ * explicit that one must not be invented before working trigger behavior
40
+ * exists. An empty array here says "this connector starts no workflows",
41
+ * which is different from not having thought about it.
42
+ */
43
+ abstract readonly triggers: readonly AnyTrigger[];
44
+ }
45
+ //# sourceMappingURL=base-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-connector.d.ts","sourceRoot":"","sources":["../../../src/connectors/core/base-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAEnD,8BAAsB,aAAa;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAE7B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAItC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAE/D,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAE5C;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CACnD"}
@@ -0,0 +1,3 @@
1
+ export class BaseConnector {
2
+ }
3
+ //# sourceMappingURL=base-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-connector.js","sourceRoot":"","sources":["../../../src/connectors/core/base-connector.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,aAAa;CA4ClC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * ConnectorRegistry — the single place components become known to the system.
3
+ *
4
+ * ─── What it replaces ───
5
+ *
6
+ * A host used to assemble four separate things by hand: `StepRegistry`,
7
+ * `TriggerRegistry`, `ServiceRegistry`, and a fixed central credential union.
8
+ * Nothing tied them together, so a step could register while the service it
9
+ * needed did not, and a credential could exist that no component could name —
10
+ * failing mid-execution. Those three registries are gone; this is the one.
11
+ *
12
+ * A host registers ONE complete connector and gets all of it at once:
13
+ *
14
+ * connectors.register(new GmailConnector());
15
+ *
16
+ * There is deliberately no `registerStep`, `registerTrigger`, or
17
+ * `registerCredential`. If those existed, a component could enter the system
18
+ * without an owning connector — and every check below depends on knowing the
19
+ * owner.
20
+ */
21
+ import type { BaseConnector, AnyStep, AnyTrigger } from './base-connector.js';
22
+ import type { StepSummary, StepDescriptor } from '../../steps/step-descriptor.js';
23
+ import type { TriggerSummary, TriggerDescriptor } from '../../triggers/trigger-descriptor.js';
24
+ import type { CredentialDefinition } from './credentials.js';
25
+ import type { ConnectorCredentialTypes } from '../../common/credentials.js';
26
+ /** A step plus the identity of the connector that provides it. */
27
+ export interface RegisteredStep {
28
+ readonly connectorId: string;
29
+ readonly connectorName: string;
30
+ readonly step: AnyStep;
31
+ }
32
+ /** A trigger plus the identity of the connector that provides it. */
33
+ export interface RegisteredTrigger {
34
+ readonly connectorId: string;
35
+ readonly connectorName: string;
36
+ readonly trigger: AnyTrigger;
37
+ }
38
+ /** A credential definition plus the identity of the connector that declares it. */
39
+ export interface RegisteredCredential {
40
+ readonly connectorId: string;
41
+ readonly connectorName: string;
42
+ readonly definition: CredentialDefinition;
43
+ }
44
+ /**
45
+ * A connector was rejected at registration.
46
+ *
47
+ * Carries EVERY problem found, not just the first. Registration happens at
48
+ * boot, so a developer fixing a new connector otherwise plays whack-a-mole:
49
+ * restart, see one error, fix, restart. One throw listing all four mistakes
50
+ * turns that into a single edit.
51
+ */
52
+ export declare class ConnectorRegistrationError extends Error {
53
+ readonly connectorId: string;
54
+ readonly problems: readonly string[];
55
+ constructor(connectorId: string, problems: readonly string[]);
56
+ }
57
+ /** A lookup named something that was never registered. */
58
+ export declare class UnknownComponentError extends Error {
59
+ readonly kind: 'connector' | 'step' | 'trigger' | 'credential';
60
+ readonly id: string;
61
+ constructor(kind: 'connector' | 'step' | 'trigger' | 'credential', id: string);
62
+ }
63
+ export declare class ConnectorRegistry {
64
+ private readonly connectorsById;
65
+ private readonly stepsByType;
66
+ private readonly triggersByType;
67
+ private readonly credentialsByType;
68
+ constructor();
69
+ /**
70
+ * Register a complete connector, or reject it entirely.
71
+ *
72
+ * @throws {ConnectorRegistrationError} listing every problem found.
73
+ */
74
+ register(connector: BaseConnector): void;
75
+ /** @throws {UnknownComponentError} when no such connector is registered. */
76
+ getConnector(connectorId: string): BaseConnector;
77
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
78
+ getStep(stepType: string): AnyStep;
79
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
80
+ getTrigger(triggerType: string): AnyTrigger;
81
+ /**
82
+ * Non-throwing lookups, for callers deciding IF a component exists rather
83
+ * than assuming it does — validating a saved workflow against the connectors
84
+ * this deployment actually registered, for instance.
85
+ *
86
+ * Without these, "is this step available?" has to be written as try/catch
87
+ * around `getStep()`, which is control flow by exception and swallows real
88
+ * errors as readily as missing ones.
89
+ */
90
+ findStep(stepType: string): RegisteredStep | undefined;
91
+ findTrigger(triggerType: string): RegisteredTrigger | undefined;
92
+ /** @throws {UnknownComponentError} when no registered connector declares it. */
93
+ getCredentialDefinition(credType: string): CredentialDefinition;
94
+ findCredentialDefinition(credType: string): CredentialDefinition | undefined;
95
+ hasConnector(connectorId: string): boolean;
96
+ hasStep(stepType: string): boolean;
97
+ hasTrigger(triggerType: string): boolean;
98
+ listConnectors(): readonly BaseConnector[];
99
+ /** Every step from every registered connector, each tagged with its owner. */
100
+ listSteps(): readonly RegisteredStep[];
101
+ listTriggers(): readonly RegisteredTrigger[];
102
+ listStepSummaries(): StepSummary[];
103
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
104
+ getStepDescriptor(stepType: string): StepDescriptor;
105
+ listTriggerSummaries(): TriggerSummary[];
106
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
107
+ getTriggerDescriptor(triggerType: string): TriggerDescriptor;
108
+ /**
109
+ * Every credential type, grouped by the connector that declares it, with the
110
+ * form fields its shape needs. What the vault's create flow renders from.
111
+ * Connectors that declare no credentials are omitted.
112
+ */
113
+ listCredentialTypes(): ConnectorCredentialTypes[];
114
+ /**
115
+ * Every reason this connector cannot be registered. Empty means valid.
116
+ *
117
+ * Pure: reads state, writes none. That is what makes atomic registration
118
+ * possible — the caller can know the verdict before touching a map.
119
+ */
120
+ private findProblems;
121
+ /**
122
+ * Validate the connector's credential declarations.
123
+ *
124
+ * @returns the types it declares — the authority for the component checks below.
125
+ */
126
+ private checkCredentials;
127
+ private checkSteps;
128
+ private checkTriggers;
129
+ }
130
+ //# sourceMappingURL=connector-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-registry.d.ts","sourceRoot":"","sources":["../../../src/connectors/core/connector-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * ConnectorRegistry — the single place components become known to the system.
3
+ *
4
+ * ─── What it replaces ───
5
+ *
6
+ * A host used to assemble four separate things by hand: `StepRegistry`,
7
+ * `TriggerRegistry`, `ServiceRegistry`, and a fixed central credential union.
8
+ * Nothing tied them together, so a step could register while the service it
9
+ * needed did not, and a credential could exist that no component could name —
10
+ * failing mid-execution. Those three registries are gone; this is the one.
11
+ *
12
+ * A host registers ONE complete connector and gets all of it at once:
13
+ *
14
+ * connectors.register(new GmailConnector());
15
+ *
16
+ * There is deliberately no `registerStep`, `registerTrigger`, or
17
+ * `registerCredential`. If those existed, a component could enter the system
18
+ * without an owning connector — and every check below depends on knowing the
19
+ * owner.
20
+ */
21
+ import { BuiltinConnector } from '../builtin/builtin-connector.js';
22
+ import { buildStepSummary, buildStepDescriptor } from '../../steps/step-descriptor.js';
23
+ import { buildTriggerSummary, buildTriggerDescriptor } from '../../triggers/trigger-descriptor.js';
24
+ import { CREDENTIAL_TYPE_PATTERN } from './credentials.js';
25
+ import { CREDENTIAL_AUTH_REGISTRY } from '../../common/credentials.js';
26
+ // ─── Errors ───
27
+ /**
28
+ * A connector was rejected at registration.
29
+ *
30
+ * Carries EVERY problem found, not just the first. Registration happens at
31
+ * boot, so a developer fixing a new connector otherwise plays whack-a-mole:
32
+ * restart, see one error, fix, restart. One throw listing all four mistakes
33
+ * turns that into a single edit.
34
+ */
35
+ export class ConnectorRegistrationError extends Error {
36
+ connectorId;
37
+ problems;
38
+ constructor(connectorId, problems) {
39
+ super(`ConnectorRegistry: cannot register connector "${connectorId}":\n` +
40
+ problems.map((problem) => ` - ${problem}`).join('\n'));
41
+ this.name = 'ConnectorRegistrationError';
42
+ this.connectorId = connectorId;
43
+ this.problems = problems;
44
+ }
45
+ }
46
+ /** A lookup named something that was never registered. */
47
+ export class UnknownComponentError extends Error {
48
+ kind;
49
+ id;
50
+ constructor(kind, id) {
51
+ super(`ConnectorRegistry: unknown ${kind} "${id}". ` +
52
+ `Is its connector registered at boot?`);
53
+ this.name = 'UnknownComponentError';
54
+ this.kind = kind;
55
+ this.id = id;
56
+ }
57
+ }
58
+ // ─── Registry ───
59
+ export class ConnectorRegistry {
60
+ connectorsById = new Map();
61
+ stepsByType = new Map();
62
+ triggersByType = new Map();
63
+ credentialsByType = new Map();
64
+ constructor() {
65
+ this.register(new BuiltinConnector());
66
+ }
67
+ /**
68
+ * Register a complete connector, or reject it entirely.
69
+ *
70
+ * @throws {ConnectorRegistrationError} listing every problem found.
71
+ */
72
+ register(connector) {
73
+ const problems = this.findProblems(connector);
74
+ if (problems.length > 0) {
75
+ throw new ConnectorRegistrationError(connector.id, problems);
76
+ }
77
+ // Commit. Only reached when the connector is wholly valid, so no partial
78
+ // write is possible — this is the atomicity guarantee, and it is why
79
+ // validation cannot be interleaved with insertion.
80
+ this.connectorsById.set(connector.id, connector);
81
+ for (const definition of connector.credentials) {
82
+ this.credentialsByType.set(definition.credType, {
83
+ connectorId: connector.id,
84
+ connectorName: connector.name,
85
+ definition,
86
+ });
87
+ }
88
+ for (const step of connector.steps) {
89
+ // Stamp WHO owns it, so the palette can group by connector. The step
90
+ // itself never sets these — its owner does, here, at registration.
91
+ stampOwner(step, {
92
+ connectorId: connector.id,
93
+ connectorName: connector.name,
94
+ });
95
+ this.stepsByType.set(step.type, {
96
+ connectorId: connector.id,
97
+ connectorName: connector.name,
98
+ step,
99
+ });
100
+ }
101
+ for (const trigger of connector.triggers) {
102
+ stampOwner(trigger, {
103
+ connectorId: connector.id,
104
+ connectorName: connector.name,
105
+ });
106
+ this.triggersByType.set(trigger.type, {
107
+ connectorId: connector.id,
108
+ connectorName: connector.name,
109
+ trigger,
110
+ });
111
+ }
112
+ }
113
+ // ─── Lookups ───
114
+ /** @throws {UnknownComponentError} when no such connector is registered. */
115
+ getConnector(connectorId) {
116
+ const connector = this.connectorsById.get(connectorId);
117
+ if (!connector)
118
+ throw new UnknownComponentError('connector', connectorId);
119
+ return connector;
120
+ }
121
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
122
+ getStep(stepType) {
123
+ const registered = this.stepsByType.get(stepType);
124
+ if (!registered)
125
+ throw new UnknownComponentError('step', stepType);
126
+ return registered.step;
127
+ }
128
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
129
+ getTrigger(triggerType) {
130
+ const registered = this.triggersByType.get(triggerType);
131
+ if (!registered)
132
+ throw new UnknownComponentError('trigger', triggerType);
133
+ return registered.trigger;
134
+ }
135
+ /**
136
+ * Non-throwing lookups, for callers deciding IF a component exists rather
137
+ * than assuming it does — validating a saved workflow against the connectors
138
+ * this deployment actually registered, for instance.
139
+ *
140
+ * Without these, "is this step available?" has to be written as try/catch
141
+ * around `getStep()`, which is control flow by exception and swallows real
142
+ * errors as readily as missing ones.
143
+ */
144
+ findStep(stepType) {
145
+ return this.stepsByType.get(stepType);
146
+ }
147
+ findTrigger(triggerType) {
148
+ return this.triggersByType.get(triggerType);
149
+ }
150
+ /** @throws {UnknownComponentError} when no registered connector declares it. */
151
+ getCredentialDefinition(credType) {
152
+ const registered = this.credentialsByType.get(credType);
153
+ if (!registered)
154
+ throw new UnknownComponentError('credential', credType);
155
+ return registered.definition;
156
+ }
157
+ findCredentialDefinition(credType) {
158
+ return this.credentialsByType.get(credType)?.definition;
159
+ }
160
+ hasConnector(connectorId) {
161
+ return this.connectorsById.has(connectorId);
162
+ }
163
+ hasStep(stepType) {
164
+ return this.stepsByType.has(stepType);
165
+ }
166
+ hasTrigger(triggerType) {
167
+ return this.triggersByType.has(triggerType);
168
+ }
169
+ // ─── Listings ───
170
+ listConnectors() {
171
+ return Array.from(this.connectorsById.values());
172
+ }
173
+ /** Every step from every registered connector, each tagged with its owner. */
174
+ listSteps() {
175
+ return Array.from(this.stepsByType.values());
176
+ }
177
+ listTriggers() {
178
+ return Array.from(this.triggersByType.values());
179
+ }
180
+ // ─── Catalogue (what the builder's palette and detail endpoints read) ───
181
+ //
182
+ // These answer the questions `StepRegistry` / `TriggerRegistry` used to. They
183
+ // are here rather than in a fourth registry because a component cannot be
184
+ // described without knowing its owner, and this is the only object that does.
185
+ listStepSummaries() {
186
+ return this.listSteps().map((r) => buildStepSummary(r.step));
187
+ }
188
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
189
+ getStepDescriptor(stepType) {
190
+ return buildStepDescriptor(this.getStep(stepType));
191
+ }
192
+ listTriggerSummaries() {
193
+ return this.listTriggers().map((r) => buildTriggerSummary(r.trigger));
194
+ }
195
+ /** @throws {UnknownComponentError} when no registered connector provides it. */
196
+ getTriggerDescriptor(triggerType) {
197
+ return buildTriggerDescriptor(this.getTrigger(triggerType));
198
+ }
199
+ /**
200
+ * Every credential type, grouped by the connector that declares it, with the
201
+ * form fields its shape needs. What the vault's create flow renders from.
202
+ * Connectors that declare no credentials are omitted.
203
+ */
204
+ listCredentialTypes() {
205
+ return this.listConnectors()
206
+ .filter((connector) => connector.credentials.length > 0)
207
+ .map((connector) => ({
208
+ connectorId: connector.id,
209
+ connectorName: connector.name,
210
+ credentials: connector.credentials.map((definition) => ({
211
+ credType: definition.credType,
212
+ label: definition.label,
213
+ ...(definition.description !== undefined
214
+ ? { description: definition.description }
215
+ : {}),
216
+ authType: definition.authType,
217
+ fields: CREDENTIAL_AUTH_REGISTRY.find((entry) => entry.type === definition.authType)
218
+ ?.fields ?? [],
219
+ })),
220
+ }));
221
+ }
222
+ // ─── Validation ───
223
+ /**
224
+ * Every reason this connector cannot be registered. Empty means valid.
225
+ *
226
+ * Pure: reads state, writes none. That is what makes atomic registration
227
+ * possible — the caller can know the verdict before touching a map.
228
+ */
229
+ findProblems(connector) {
230
+ const problems = [];
231
+ if (!connector.id) {
232
+ problems.push('connector id must not be empty');
233
+ }
234
+ if (this.connectorsById.has(connector.id)) {
235
+ problems.push(`connector id "${connector.id}" is already registered. ` +
236
+ `Registering the same connector twice is usually a duplicated ` +
237
+ `host wiring line.`);
238
+ }
239
+ const declared = this.checkCredentials(connector, problems);
240
+ this.checkSteps(connector, declared, problems);
241
+ this.checkTriggers(connector, declared, problems);
242
+ return problems;
243
+ }
244
+ /**
245
+ * Validate the connector's credential declarations.
246
+ *
247
+ * @returns the types it declares — the authority for the component checks below.
248
+ */
249
+ checkCredentials(connector, problems) {
250
+ const declared = new Set();
251
+ for (const definition of connector.credentials) {
252
+ if (!CREDENTIAL_TYPE_PATTERN.test(definition.credType)) {
253
+ problems.push(`credential type "${definition.credType}" must be SCREAMING_SNAKE_CASE, ` +
254
+ `e.g. "SLACK_BOT_TOKEN"`);
255
+ }
256
+ // Ownership: a definition borrowed from another connector would let this
257
+ // one claim a type that is not its own.
258
+ if (definition.connectorId !== connector.id) {
259
+ problems.push(`credential type "${definition.credType}" belongs to connector ` +
260
+ `"${definition.connectorId}" but is declared by "${connector.id}"`);
261
+ }
262
+ if (declared.has(definition.credType)) {
263
+ problems.push(`credential type "${definition.credType}" is declared twice`);
264
+ }
265
+ declared.add(definition.credType);
266
+ // Global uniqueness. The type is what stored credentials carry, so two
267
+ // connectors answering to one type would make ownership ambiguous.
268
+ const existing = this.credentialsByType.get(definition.credType);
269
+ if (existing) {
270
+ problems.push(`credential type "${definition.credType}" is already declared by connector ` +
271
+ `"${existing.connectorId}". Prefix types with the connector name.`);
272
+ }
273
+ }
274
+ return declared;
275
+ }
276
+ checkSteps(connector, declaredCredentialTypes, problems) {
277
+ const seen = new Set();
278
+ for (const step of connector.steps) {
279
+ if (!step.type) {
280
+ problems.push(`step "${step.name}" has an empty type id`);
281
+ }
282
+ if (seen.has(step.type)) {
283
+ problems.push(`step type "${step.type}" is declared twice`);
284
+ }
285
+ seen.add(step.type);
286
+ // A step may only accept credential types its OWN connector declares.
287
+ // This is what catches a step wired to a definition the connector forgot
288
+ // to list: without it the credential picker would render empty and the
289
+ // run would fail with "no credential configured", pointing at the user
290
+ // rather than at the wiring.
291
+ checkAcceptedCredentials(`step "${step.type}"`, step.credential, connector.id, declaredCredentialTypes, problems);
292
+ checkCredentialSlots(`step "${step.type}"`, step.credentialSlots, problems);
293
+ // Global uniqueness. Step type IDs are the key saved workflows store, so
294
+ // two implementations answering to one ID means dispatch silently picks
295
+ // whichever registered last. A boot failure is the only safe outcome.
296
+ const existing = this.stepsByType.get(step.type);
297
+ if (existing) {
298
+ problems.push(`step type "${step.type}" is already registered by connector ` +
299
+ `"${existing.connectorId}". Namespace new components as ` +
300
+ `"<connector-id>.<action>".`);
301
+ }
302
+ }
303
+ }
304
+ checkTriggers(connector, declaredCredentialTypes, problems) {
305
+ const seen = new Set();
306
+ for (const trigger of connector.triggers) {
307
+ if (!trigger.type) {
308
+ problems.push(`trigger "${trigger.name}" has an empty type id`);
309
+ }
310
+ if (seen.has(trigger.type)) {
311
+ problems.push(`trigger type "${trigger.type}" is declared twice`);
312
+ }
313
+ seen.add(trigger.type);
314
+ checkAcceptedCredentials(`trigger "${trigger.type}"`, trigger.credential, connector.id, declaredCredentialTypes, problems);
315
+ checkCredentialSlots(`trigger "${trigger.type}"`, trigger.credentialSlots, problems);
316
+ const existing = this.triggersByType.get(trigger.type);
317
+ if (existing) {
318
+ problems.push(`trigger type "${trigger.type}" is already registered by connector ` +
319
+ `"${existing.connectorId}"`);
320
+ }
321
+ }
322
+ }
323
+ }
324
+ /**
325
+ * A component may only accept credential types its OWN connector declares.
326
+ *
327
+ * Without this, a component wired to a definition its connector forgot to list
328
+ * would render an empty credential picker and fail at run time with "no
329
+ * credential configured", pointing at the user rather than at the wiring.
330
+ */
331
+ function checkAcceptedCredentials(subject, accepted, connectorId, declared, problems) {
332
+ for (const definition of accepted ?? []) {
333
+ if (declared.has(definition.credType))
334
+ continue;
335
+ problems.push(`${subject} accepts credential type "${definition.credType}", which ` +
336
+ `connector "${connectorId}" does not declare`);
337
+ }
338
+ }
339
+ /** Slot names are the config fields credentials are read from, so they must be unique. */
340
+ function checkCredentialSlots(subject, slots, problems) {
341
+ const seen = new Set();
342
+ for (const slot of slots ?? []) {
343
+ if (!slot.name)
344
+ problems.push(`${subject} has a credential slot with an empty name`);
345
+ if (seen.has(slot.name)) {
346
+ problems.push(`${subject} declares credential slot "${slot.name}" twice`);
347
+ }
348
+ seen.add(slot.name);
349
+ }
350
+ }
351
+ /** Owner facts written onto a registered component, for the palette. */
352
+ function stampOwner(target, owner) {
353
+ const bag = target;
354
+ bag.connectorId = owner.connectorId;
355
+ bag.connectorName = owner.connectorName;
356
+ }
357
+ //# sourceMappingURL=connector-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-registry.js","sourceRoot":"","sources":["../../../src/connectors/core/connector-registry.ts"],"names":[],"mappings":"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"}