@xyne/workflow-sdk 3.2.38 → 3.2.40

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 (212) hide show
  1. package/dist/builder/index.d.ts +3 -1
  2. package/dist/builder/index.d.ts.map +1 -1
  3. package/dist/builder/index.js +7 -1
  4. package/dist/builder/index.js.map +1 -1
  5. package/dist/client/types.d.ts +13 -0
  6. package/dist/client/types.d.ts.map +1 -1
  7. package/dist/client/workflow-client.d.ts.map +1 -1
  8. package/dist/client/workflow-client.js +8 -0
  9. package/dist/client/workflow-client.js.map +1 -1
  10. package/dist/common/citation-ref.d.ts +36 -36
  11. package/dist/connectors/builtin/builtin-connector.d.ts +1 -0
  12. package/dist/connectors/builtin/builtin-connector.d.ts.map +1 -1
  13. package/dist/connectors/builtin/builtin-connector.js +1 -0
  14. package/dist/connectors/builtin/builtin-connector.js.map +1 -1
  15. package/dist/connectors/builtin/steps/http-request.step.d.ts +2 -2
  16. package/dist/connectors/builtin/steps/switch.step.d.ts +12 -12
  17. package/dist/connectors/builtin/steps/wait.step.d.ts +90 -90
  18. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts +9 -1
  19. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts.map +1 -1
  20. package/dist/connectors/builtin/triggers/default-cron-trigger.js +3 -3
  21. package/dist/connectors/builtin/triggers/default-cron-trigger.js.map +1 -1
  22. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts +12 -1
  23. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts.map +1 -1
  24. package/dist/connectors/builtin/triggers/default-event-trigger.js +13 -1
  25. package/dist/connectors/builtin/triggers/default-event-trigger.js.map +1 -1
  26. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts +4 -1
  27. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts.map +1 -1
  28. package/dist/connectors/builtin/triggers/default-manual-trigger.js +3 -1
  29. package/dist/connectors/builtin/triggers/default-manual-trigger.js.map +1 -1
  30. package/dist/connectors/core/base-connector.d.ts +5 -0
  31. package/dist/connectors/core/base-connector.d.ts.map +1 -1
  32. package/dist/connectors/core/base-connector.js +5 -0
  33. package/dist/connectors/core/base-connector.js.map +1 -1
  34. package/dist/connectors/core/connector-registry.d.ts.map +1 -1
  35. package/dist/connectors/core/connector-registry.js +26 -12
  36. package/dist/connectors/core/connector-registry.js.map +1 -1
  37. package/dist/engine/condition-evaluator.d.ts.map +1 -1
  38. package/dist/engine/condition-evaluator.js +41 -5
  39. package/dist/engine/condition-evaluator.js.map +1 -1
  40. package/dist/engine/config-validator.d.ts +8 -0
  41. package/dist/engine/config-validator.d.ts.map +1 -1
  42. package/dist/engine/config-validator.js +61 -4
  43. package/dist/engine/config-validator.js.map +1 -1
  44. package/dist/engine/workflow-executor.d.ts.map +1 -1
  45. package/dist/engine/workflow-executor.js +5 -28
  46. package/dist/engine/workflow-executor.js.map +1 -1
  47. package/dist/index.d.ts +8 -4
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/ingest/start-policy.d.ts +202 -0
  52. package/dist/ingest/start-policy.d.ts.map +1 -0
  53. package/dist/ingest/start-policy.js +199 -0
  54. package/dist/ingest/start-policy.js.map +1 -0
  55. package/dist/ingest/types.d.ts +25 -6
  56. package/dist/ingest/types.d.ts.map +1 -1
  57. package/dist/persistence/in-memory-adapter.d.ts +4 -2
  58. package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
  59. package/dist/persistence/in-memory-adapter.js +9 -1
  60. package/dist/persistence/in-memory-adapter.js.map +1 -1
  61. package/dist/persistence/types.d.ts +53 -1
  62. package/dist/persistence/types.d.ts.map +1 -1
  63. package/dist/router/types.d.ts +1 -0
  64. package/dist/router/types.d.ts.map +1 -1
  65. package/dist/router/workflow-router.d.ts.map +1 -1
  66. package/dist/router/workflow-router.js +57 -5
  67. package/dist/router/workflow-router.js.map +1 -1
  68. package/dist/runtime/types.d.ts +5 -0
  69. package/dist/runtime/types.d.ts.map +1 -1
  70. package/dist/runtime/workflow-runtime.d.ts +121 -7
  71. package/dist/runtime/workflow-runtime.d.ts.map +1 -1
  72. package/dist/runtime/workflow-runtime.js +430 -57
  73. package/dist/runtime/workflow-runtime.js.map +1 -1
  74. package/dist/schema/options.d.ts +101 -0
  75. package/dist/schema/options.d.ts.map +1 -0
  76. package/dist/schema/options.js +14 -0
  77. package/dist/schema/options.js.map +1 -0
  78. package/dist/steps/base-step.d.ts +12 -1
  79. package/dist/steps/base-step.d.ts.map +1 -1
  80. package/dist/steps/base-step.js +1 -0
  81. package/dist/steps/base-step.js.map +1 -1
  82. package/dist/steps/step-descriptor.d.ts +2 -0
  83. package/dist/steps/step-descriptor.d.ts.map +1 -1
  84. package/dist/steps/step-descriptor.js +1 -0
  85. package/dist/steps/step-descriptor.js.map +1 -1
  86. package/dist/triggers/api-trigger.d.ts +1 -1
  87. package/dist/triggers/api-trigger.d.ts.map +1 -1
  88. package/dist/triggers/api-trigger.js.map +1 -1
  89. package/dist/triggers/base-trigger.d.ts +67 -8
  90. package/dist/triggers/base-trigger.d.ts.map +1 -1
  91. package/dist/triggers/base-trigger.js +15 -3
  92. package/dist/triggers/base-trigger.js.map +1 -1
  93. package/dist/triggers/cron-trigger.d.ts +1 -1
  94. package/dist/triggers/cron-trigger.d.ts.map +1 -1
  95. package/dist/triggers/cron-trigger.js.map +1 -1
  96. package/dist/triggers/event-trigger.d.ts +3 -3
  97. package/dist/triggers/event-trigger.d.ts.map +1 -1
  98. package/dist/triggers/event-trigger.js +2 -2
  99. package/dist/triggers/event-trigger.js.map +1 -1
  100. package/dist/triggers/manual-trigger.d.ts +1 -1
  101. package/dist/triggers/manual-trigger.d.ts.map +1 -1
  102. package/dist/triggers/manual-trigger.js.map +1 -1
  103. package/dist/triggers/trigger-descriptor.d.ts +2 -0
  104. package/dist/triggers/trigger-descriptor.d.ts.map +1 -1
  105. package/dist/triggers/trigger-descriptor.js +1 -0
  106. package/dist/triggers/trigger-descriptor.js.map +1 -1
  107. package/dist/triggers/webhook-trigger.d.ts +25 -6
  108. package/dist/triggers/webhook-trigger.d.ts.map +1 -1
  109. package/dist/triggers/webhook-trigger.js +23 -2
  110. package/dist/triggers/webhook-trigger.js.map +1 -1
  111. package/dist/types/config-path.d.ts +24 -0
  112. package/dist/types/config-path.d.ts.map +1 -0
  113. package/dist/types/config-path.js +18 -0
  114. package/dist/types/config-path.js.map +1 -0
  115. package/dist/types/context.d.ts.map +1 -1
  116. package/dist/types/operators.d.ts +15 -1
  117. package/dist/types/operators.d.ts.map +1 -1
  118. package/dist/types/operators.js +21 -0
  119. package/dist/types/operators.js.map +1 -1
  120. package/dist/types/workflow-config.d.ts +13 -0
  121. package/dist/types/workflow-config.d.ts.map +1 -1
  122. package/dist/types/workflow-config.js +9 -7
  123. package/dist/types/workflow-config.js.map +1 -1
  124. package/dist/util/option-mark.d.ts +44 -0
  125. package/dist/util/option-mark.d.ts.map +1 -0
  126. package/dist/util/option-mark.js +132 -0
  127. package/dist/util/option-mark.js.map +1 -0
  128. package/dist/util/schema-convert.d.ts +5 -0
  129. package/dist/util/schema-convert.d.ts.map +1 -1
  130. package/dist/util/schema-convert.js +7 -1
  131. package/dist/util/schema-convert.js.map +1 -1
  132. package/dist/util/schema-marks.d.ts +58 -0
  133. package/dist/util/schema-marks.d.ts.map +1 -0
  134. package/dist/util/schema-marks.js +161 -0
  135. package/dist/util/schema-marks.js.map +1 -0
  136. package/dist/util/variable-ref.d.ts +0 -5
  137. package/dist/util/variable-ref.d.ts.map +1 -1
  138. package/dist/util/variable-ref.js +0 -5
  139. package/dist/util/variable-ref.js.map +1 -1
  140. package/package.json +1 -1
  141. package/dist/runtime/execution-event-bus.d.ts +0 -38
  142. package/dist/runtime/execution-event-bus.d.ts.map +0 -1
  143. package/dist/runtime/execution-event-bus.js +0 -87
  144. package/dist/runtime/execution-event-bus.js.map +0 -1
  145. package/dist/steps/builtin/code.step.d.ts +0 -99
  146. package/dist/steps/builtin/code.step.d.ts.map +0 -1
  147. package/dist/steps/builtin/code.step.js +0 -152
  148. package/dist/steps/builtin/code.step.js.map +0 -1
  149. package/dist/steps/builtin/conditional.step.d.ts +0 -182
  150. package/dist/steps/builtin/conditional.step.d.ts.map +0 -1
  151. package/dist/steps/builtin/conditional.step.js +0 -82
  152. package/dist/steps/builtin/conditional.step.js.map +0 -1
  153. package/dist/steps/builtin/dedup.step.d.ts +0 -65
  154. package/dist/steps/builtin/dedup.step.d.ts.map +0 -1
  155. package/dist/steps/builtin/dedup.step.js +0 -61
  156. package/dist/steps/builtin/dedup.step.js.map +0 -1
  157. package/dist/steps/builtin/http-request.step.d.ts +0 -1020
  158. package/dist/steps/builtin/http-request.step.d.ts.map +0 -1
  159. package/dist/steps/builtin/http-request.step.js +0 -491
  160. package/dist/steps/builtin/http-request.step.js.map +0 -1
  161. package/dist/steps/builtin/loop.step.d.ts +0 -100
  162. package/dist/steps/builtin/loop.step.d.ts.map +0 -1
  163. package/dist/steps/builtin/loop.step.js +0 -73
  164. package/dist/steps/builtin/loop.step.js.map +0 -1
  165. package/dist/steps/builtin/map.step.d.ts +0 -148
  166. package/dist/steps/builtin/map.step.d.ts.map +0 -1
  167. package/dist/steps/builtin/map.step.js +0 -111
  168. package/dist/steps/builtin/map.step.js.map +0 -1
  169. package/dist/steps/builtin/parallel.step.d.ts +0 -246
  170. package/dist/steps/builtin/parallel.step.d.ts.map +0 -1
  171. package/dist/steps/builtin/parallel.step.js +0 -175
  172. package/dist/steps/builtin/parallel.step.js.map +0 -1
  173. package/dist/steps/builtin/ssrf-guard.d.ts +0 -9
  174. package/dist/steps/builtin/ssrf-guard.d.ts.map +0 -1
  175. package/dist/steps/builtin/ssrf-guard.js +0 -115
  176. package/dist/steps/builtin/ssrf-guard.js.map +0 -1
  177. package/dist/steps/builtin/switch.step.d.ts +0 -235
  178. package/dist/steps/builtin/switch.step.d.ts.map +0 -1
  179. package/dist/steps/builtin/switch.step.js +0 -101
  180. package/dist/steps/builtin/switch.step.js.map +0 -1
  181. package/dist/steps/builtin/wait.step.d.ts +0 -1072
  182. package/dist/steps/builtin/wait.step.d.ts.map +0 -1
  183. package/dist/steps/builtin/wait.step.js +0 -254
  184. package/dist/steps/builtin/wait.step.js.map +0 -1
  185. package/dist/steps/step-registry.d.ts +0 -62
  186. package/dist/steps/step-registry.d.ts.map +0 -1
  187. package/dist/steps/step-registry.js +0 -103
  188. package/dist/steps/step-registry.js.map +0 -1
  189. package/dist/triggers/builtin/default-cron-trigger.d.ts +0 -44
  190. package/dist/triggers/builtin/default-cron-trigger.d.ts.map +0 -1
  191. package/dist/triggers/builtin/default-cron-trigger.js +0 -31
  192. package/dist/triggers/builtin/default-cron-trigger.js.map +0 -1
  193. package/dist/triggers/builtin/default-event-trigger.d.ts +0 -32
  194. package/dist/triggers/builtin/default-event-trigger.d.ts.map +0 -1
  195. package/dist/triggers/builtin/default-event-trigger.js +0 -21
  196. package/dist/triggers/builtin/default-event-trigger.js.map +0 -1
  197. package/dist/triggers/builtin/default-manual-trigger.d.ts +0 -45
  198. package/dist/triggers/builtin/default-manual-trigger.d.ts.map +0 -1
  199. package/dist/triggers/builtin/default-manual-trigger.js +0 -51
  200. package/dist/triggers/builtin/default-manual-trigger.js.map +0 -1
  201. package/dist/triggers/builtin/default-webhook-trigger.d.ts +0 -72
  202. package/dist/triggers/builtin/default-webhook-trigger.d.ts.map +0 -1
  203. package/dist/triggers/builtin/default-webhook-trigger.js +0 -91
  204. package/dist/triggers/builtin/default-webhook-trigger.js.map +0 -1
  205. package/dist/triggers/builtin/default-webhook-v2-trigger.d.ts +0 -29
  206. package/dist/triggers/builtin/default-webhook-v2-trigger.d.ts.map +0 -1
  207. package/dist/triggers/builtin/default-webhook-v2-trigger.js +0 -38
  208. package/dist/triggers/builtin/default-webhook-v2-trigger.js.map +0 -1
  209. package/dist/triggers/trigger-registry.d.ts +0 -48
  210. package/dist/triggers/trigger-registry.d.ts.map +0 -1
  211. package/dist/triggers/trigger-registry.js +0 -83
  212. package/dist/triggers/trigger-registry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-manual-trigger.d.ts","sourceRoot":"","sources":["../../../src/triggers/builtin/default-manual-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAG3C,CAAC;AAEH,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,OAAO,gCAAgC,CAAC;IAC9F,SAAkB,IAAI,6BAA6B;IACnD,SAAkB,IAAI,oBAAoB;IAC1C,SAAkB,WAAW,uDAAuD;IACpF,SAAkB,QAAQ,0BAA0B;IACpD,SAAkB,IAAI,YAAY;IAClC,SAAkB,YAAY;;;;;;OAAoC;IAClE,SAAkB,YAAY,yCAAyB;IAE9C,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ3F;;;;;;OAMG;IACM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAY3F"}
@@ -1,51 +0,0 @@
1
- import { z } from 'zod';
2
- import { ManualTrigger } from '../manual-trigger.js';
3
- import { BuiltinTriggerType } from '../../types/known-types.js';
4
- import { TriggerCategory } from '../../types/categories.js';
5
- /**
6
- * Default manual trigger — fires via `runtime.triggerManual()`.
7
- *
8
- * The author-supplied `inputSchema` fully describes the payload, including any
9
- * file inputs: a document is just a typed field carrying `format: 'attachment'`
10
- * (single) or an array of those (multiple). There is no separate attachments
11
- * slot — uploaded files become ordinary named fields, so they're referenced by
12
- * name (`{{trigger.pan}}`) and validated by the schema like any other input.
13
- */
14
- export const DefaultManualTriggerConfigSchema = z.object({
15
- inputSchema: z.record(z.unknown()).optional()
16
- .describe('JSON Schema describing the expected manual input (incl. attachment fields). The UI renders a form from this when triggering'),
17
- });
18
- export class DefaultManualTrigger extends ManualTrigger {
19
- type = BuiltinTriggerType.MANUAL;
20
- name = 'Manual Trigger';
21
- description = 'Trigger a workflow manually with a custom payload';
22
- category = TriggerCategory.MANUAL;
23
- icon = 'cursor';
24
- configSchema = DefaultManualTriggerConfigSchema;
25
- outputSchema = z.record(z.unknown());
26
- decorateConfigSchema(jsonSchema) {
27
- const props = jsonSchema['properties'];
28
- if (props?.['inputSchema']) {
29
- props['inputSchema'] = { ...props['inputSchema'], format: 'json-schema' };
30
- }
31
- return jsonSchema;
32
- }
33
- /**
34
- * The `inputSchema` *is* the shape of `context.trigger` — whatever the author
35
- * declared (typed fields and attachment fields alike) is what the variable
36
- * picker sees. Attachment fields already carry `format: 'attachment'`, so the
37
- * picker types them as `attachment` / `attachment[]` with no special-casing
38
- * here. Falls back to a permissive object when no schema was declared.
39
- */
40
- resolveOutputJsonSchema(config) {
41
- const inputSchema = config['inputSchema'];
42
- const hasInputSchema = inputSchema &&
43
- typeof inputSchema === 'object' &&
44
- !Array.isArray(inputSchema) &&
45
- Object.keys(inputSchema).length > 0;
46
- return hasInputSchema
47
- ? { ...inputSchema }
48
- : { type: 'object', additionalProperties: true };
49
- }
50
- }
51
- //# sourceMappingURL=default-manual-trigger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-manual-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-manual-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC1C,QAAQ,CAAC,6HAA6H,CAAC;CAC3I,CAAC,CAAC;AAEH,MAAM,OAAO,oBAAqB,SAAQ,aAAsD;IAC5E,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACjC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,mDAAmD,CAAC;IAClE,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;IAClC,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,GAAG,gCAAgC,CAAC;IAChD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,oBAAoB,CAAC,UAAmC;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAwD,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACM,uBAAuB,CAAC,MAA+B;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,cAAc,GAClB,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,WAAsC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjE,OAAO,cAAc;YACnB,CAAC,CAAC,EAAE,GAAI,WAAuC,EAAE;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;CACF"}
@@ -1,72 +0,0 @@
1
- import { z } from 'zod';
2
- import { WebhookTrigger } from '../webhook-trigger.js';
3
- import type { WebhookRequest, WebhookHandleResult } from '../webhook-trigger.js';
4
- import { BuiltinTriggerType } from '../../types/known-types.js';
5
- import { TriggerCategory } from '../../types/categories.js';
6
- declare const DefaultWebhookTriggerConfigSchema: z.ZodObject<{
7
- secret: z.ZodOptional<z.ZodString>;
8
- headersSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
9
- bodySchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
10
- }, "strip", z.ZodTypeAny, {
11
- secret?: string | undefined;
12
- headersSchema?: Record<string, unknown> | undefined;
13
- bodySchema?: Record<string, unknown> | undefined;
14
- }, {
15
- secret?: string | undefined;
16
- headersSchema?: Record<string, unknown> | undefined;
17
- bodySchema?: Record<string, unknown> | undefined;
18
- }>;
19
- /**
20
- * Default webhook trigger — accepts an incoming POST request and emits the
21
- * body + headers as trigger data.
22
- *
23
- * Method is always POST (the router is POST-only for webhooks); query
24
- * parameters are intentionally dropped — webhook payloads belong in the
25
- * body, not in the query string. If you need a vendor that uses query
26
- * params, subclass {@link WebhookTrigger} for that integration.
27
- *
28
- * Authors can optionally describe the expected shape of the incoming
29
- * `headers` and `body` via JSON Schema fields in the config. These schemas
30
- * type the variable picker for downstream steps — runtime parsing is
31
- * unchanged (no rejection on mismatch).
32
- */
33
- export declare class DefaultWebhookTrigger extends WebhookTrigger<typeof DefaultWebhookTriggerConfigSchema> {
34
- readonly type = BuiltinTriggerType.WEBHOOK;
35
- readonly name = "Webhook Trigger";
36
- readonly description = "Trigger a workflow via an incoming HTTP POST request";
37
- readonly category = TriggerCategory.WEBHOOK;
38
- readonly icon = "satellite";
39
- readonly configSchema: z.ZodObject<{
40
- secret: z.ZodOptional<z.ZodString>;
41
- headersSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
- bodySchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
43
- }, "strip", z.ZodTypeAny, {
44
- secret?: string | undefined;
45
- headersSchema?: Record<string, unknown> | undefined;
46
- bodySchema?: Record<string, unknown> | undefined;
47
- }, {
48
- secret?: string | undefined;
49
- headersSchema?: Record<string, unknown> | undefined;
50
- bodySchema?: Record<string, unknown> | undefined;
51
- }>;
52
- readonly outputSchema: z.ZodObject<{
53
- headers: z.ZodRecord<z.ZodString, z.ZodUnknown>;
54
- body: z.ZodUnknown;
55
- }, "strip", z.ZodTypeAny, {
56
- headers: Record<string, unknown>;
57
- body?: unknown;
58
- }, {
59
- headers: Record<string, unknown>;
60
- body?: unknown;
61
- }>;
62
- decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
63
- /**
64
- * Per-instance output schema. Plugs each user-supplied JSON Schema into
65
- * the corresponding standard field; defaults to permissive shapes when
66
- * the author hasn't typed it.
67
- */
68
- resolveOutputJsonSchema(config: Record<string, unknown>): Record<string, unknown>;
69
- handleRequest(request: WebhookRequest, _config: z.infer<typeof DefaultWebhookTriggerConfigSchema>): Promise<WebhookHandleResult>;
70
- }
71
- export {};
72
- //# sourceMappingURL=default-webhook-trigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-webhook-trigger.d.ts","sourceRoot":"","sources":["../../../src/triggers/builtin/default-webhook-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,QAAA,MAAM,iCAAiC;;;;;;;;;;;;EAOrC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,OAAO,iCAAiC,CAAC;IACjG,SAAkB,IAAI,8BAA8B;IACpD,SAAkB,IAAI,qBAAqB;IAC3C,SAAkB,WAAW,0DAA0D;IACvF,SAAkB,QAAQ,2BAA2B;IACrD,SAAkB,IAAI,eAAe;IACrC,SAAkB,YAAY;;;;;;;;;;;;OAAqC;IACnE,SAAkB,YAAY;;;;;;;;;OAG3B;IAEM,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW3F;;;;OAIG;IACM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBpF,aAAa,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,GACzD,OAAO,CAAC,mBAAmB,CAAC;CAYhC"}
@@ -1,91 +0,0 @@
1
- import { z } from 'zod';
2
- import { WebhookTrigger } from '../webhook-trigger.js';
3
- import { BuiltinTriggerType } from '../../types/known-types.js';
4
- import { TriggerCategory } from '../../types/categories.js';
5
- const DefaultWebhookTriggerConfigSchema = z.object({
6
- secret: z.string().optional()
7
- .describe('Shared secret for validating incoming webhook requests'),
8
- headersSchema: z.record(z.unknown()).optional()
9
- .describe('JSON Schema describing the expected headers. Drives the variable picker for downstream steps; runtime parsing is unchanged.'),
10
- bodySchema: z.record(z.unknown()).optional()
11
- .describe('JSON Schema describing the expected body. Drives the variable picker for downstream steps; runtime parsing is unchanged.'),
12
- });
13
- /**
14
- * Default webhook trigger — accepts an incoming POST request and emits the
15
- * body + headers as trigger data.
16
- *
17
- * Method is always POST (the router is POST-only for webhooks); query
18
- * parameters are intentionally dropped — webhook payloads belong in the
19
- * body, not in the query string. If you need a vendor that uses query
20
- * params, subclass {@link WebhookTrigger} for that integration.
21
- *
22
- * Authors can optionally describe the expected shape of the incoming
23
- * `headers` and `body` via JSON Schema fields in the config. These schemas
24
- * type the variable picker for downstream steps — runtime parsing is
25
- * unchanged (no rejection on mismatch).
26
- */
27
- export class DefaultWebhookTrigger extends WebhookTrigger {
28
- type = BuiltinTriggerType.WEBHOOK;
29
- name = 'Webhook Trigger';
30
- description = 'Trigger a workflow via an incoming HTTP POST request';
31
- category = TriggerCategory.WEBHOOK;
32
- icon = 'satellite';
33
- configSchema = DefaultWebhookTriggerConfigSchema;
34
- outputSchema = z.object({
35
- headers: z.record(z.unknown()),
36
- body: z.unknown(),
37
- });
38
- decorateConfigSchema(jsonSchema) {
39
- // Reuse the JSON Schema builder UI for each typeable slot.
40
- const props = jsonSchema['properties'];
41
- for (const field of ['headersSchema', 'bodySchema']) {
42
- if (props?.[field]) {
43
- props[field] = { ...props[field], format: 'json-schema' };
44
- }
45
- }
46
- return jsonSchema;
47
- }
48
- /**
49
- * Per-instance output schema. Plugs each user-supplied JSON Schema into
50
- * the corresponding standard field; defaults to permissive shapes when
51
- * the author hasn't typed it.
52
- */
53
- resolveOutputJsonSchema(config) {
54
- const headersSchema = nonEmptySchema(config['headersSchema']);
55
- const bodySchema = nonEmptySchema(config['bodySchema']);
56
- return {
57
- type: 'object',
58
- properties: {
59
- // HTTP header values are always strings — that's the only generic
60
- // default that makes navigation sane.
61
- headers: headersSchema ?? {
62
- type: 'object',
63
- additionalProperties: { type: 'string' },
64
- },
65
- body: bodySchema ?? { type: 'object' },
66
- },
67
- };
68
- }
69
- async handleRequest(request, _config) {
70
- return {
71
- triggerData: {
72
- headers: request.headers,
73
- body: request.body,
74
- },
75
- httpResponse: {
76
- status: 200,
77
- body: { ok: true },
78
- },
79
- };
80
- }
81
- }
82
- /** Return the schema only when it's a meaningful object — `{}` or undefined → no schema. */
83
- function nonEmptySchema(raw) {
84
- if (!raw || typeof raw !== 'object' || Array.isArray(raw))
85
- return undefined;
86
- const obj = raw;
87
- if (Object.keys(obj).length === 0)
88
- return undefined;
89
- return obj;
90
- }
91
- //# sourceMappingURL=default-webhook-trigger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-webhook-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-webhook-trigger.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { DefaultManualTriggerConfigSchema } from './default-manual-trigger.js';
2
- import { ManualTrigger } from '../manual-trigger.js';
3
- import { BuiltinTriggerType } from '../../types/known-types.js';
4
- import { TriggerCategory } from '../../types/categories.js';
5
- /**
6
- * API trigger for multipart payloads.
7
- *
8
- * Like the manual trigger, the author-supplied `inputSchema` is the complete
9
- * contract for `context.trigger`. The `/trigger/v2` route only translates
10
- * multipart fields into that schema-shaped payload.
11
- */
12
- export declare class DefaultWebhookV2Trigger extends ManualTrigger<typeof DefaultManualTriggerConfigSchema> {
13
- readonly type = BuiltinTriggerType.WEBHOOK_V2;
14
- readonly name = "Webhook V2";
15
- readonly description = "Trigger a workflow with multipart form-data";
16
- readonly category = TriggerCategory.WEBHOOK;
17
- readonly icon = "webhook";
18
- readonly configSchema: import("zod").ZodObject<{
19
- inputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
20
- }, "strip", import("zod").ZodTypeAny, {
21
- inputSchema?: Record<string, unknown> | undefined;
22
- }, {
23
- inputSchema?: Record<string, unknown> | undefined;
24
- }>;
25
- readonly outputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
26
- decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
27
- resolveOutputJsonSchema(config: Record<string, unknown>): Record<string, unknown>;
28
- }
29
- //# sourceMappingURL=default-webhook-v2-trigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-webhook-v2-trigger.d.ts","sourceRoot":"","sources":["../../../src/triggers/builtin/default-webhook-v2-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,aAAa,CAAC,OAAO,gCAAgC,CAAC;IACjG,SAAkB,IAAI,iCAAiC;IACvD,SAAkB,IAAI,gBAAgB;IACtC,SAAkB,WAAW,iDAAiD;IAC9E,SAAkB,QAAQ,2BAA2B;IACrD,SAAkB,IAAI,aAAa;IACnC,SAAkB,YAAY;;;;;;OAAoC;IAClE,SAAkB,YAAY,6EAA+D;IAEpF,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlF,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAY3F"}
@@ -1,38 +0,0 @@
1
- import { DefaultManualTriggerConfigSchema } from './default-manual-trigger.js';
2
- import { ManualTrigger } from '../manual-trigger.js';
3
- import { BuiltinTriggerType } from '../../types/known-types.js';
4
- import { TriggerCategory } from '../../types/categories.js';
5
- /**
6
- * API trigger for multipart payloads.
7
- *
8
- * Like the manual trigger, the author-supplied `inputSchema` is the complete
9
- * contract for `context.trigger`. The `/trigger/v2` route only translates
10
- * multipart fields into that schema-shaped payload.
11
- */
12
- export class DefaultWebhookV2Trigger extends ManualTrigger {
13
- type = BuiltinTriggerType.WEBHOOK_V2;
14
- name = 'Webhook V2';
15
- description = 'Trigger a workflow with multipart form-data';
16
- category = TriggerCategory.WEBHOOK;
17
- icon = 'webhook';
18
- configSchema = DefaultManualTriggerConfigSchema;
19
- outputSchema = DefaultManualTriggerConfigSchema.shape.inputSchema.unwrap();
20
- decorateConfigSchema(jsonSchema) {
21
- const props = jsonSchema['properties'];
22
- if (props?.['inputSchema']) {
23
- props['inputSchema'] = { ...props['inputSchema'], format: 'json-schema' };
24
- }
25
- return jsonSchema;
26
- }
27
- resolveOutputJsonSchema(config) {
28
- const inputSchema = config['inputSchema'];
29
- const hasInputSchema = inputSchema &&
30
- typeof inputSchema === 'object' &&
31
- !Array.isArray(inputSchema) &&
32
- Object.keys(inputSchema).length > 0;
33
- return hasInputSchema
34
- ? { ...inputSchema }
35
- : { type: 'object', additionalProperties: true };
36
- }
37
- }
38
- //# sourceMappingURL=default-webhook-v2-trigger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-webhook-v2-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-webhook-v2-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAsD;IAC/E,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC;IACrC,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,6CAA6C,CAAC;IAC5D,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;IACnC,IAAI,GAAG,SAAS,CAAC;IACjB,YAAY,GAAG,gCAAgC,CAAC;IAChD,YAAY,GAAG,gCAAgC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAEpF,oBAAoB,CAAC,UAAmC;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAwD,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEQ,uBAAuB,CAAC,MAA+B;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,cAAc,GAClB,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,WAAsC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjE,OAAO,cAAc;YACnB,CAAC,CAAC,EAAE,GAAI,WAAuC,EAAE;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;CACF"}
@@ -1,48 +0,0 @@
1
- import type { z } from 'zod';
2
- import type { TriggerType } from '../types/trigger-types.js';
3
- import type { TriggerCategory } from '../types/categories.js';
4
- import { BaseTrigger } from './base-trigger.js';
5
- export interface TriggerSummary {
6
- type: TriggerType;
7
- name: string;
8
- description: string;
9
- category: TriggerCategory;
10
- icon?: string;
11
- }
12
- export interface TriggerDescriptor extends TriggerSummary {
13
- /** JSON Schema for the trigger's config — generated from the Zod schema. */
14
- configSchema: Record<string, unknown>;
15
- /** JSON Schema for the trigger's output — generated from the Zod schema. */
16
- outputSchema: Record<string, unknown>;
17
- /** Whether this trigger requires scope-based filtering in the UI. */
18
- requiresScopeFilter: boolean;
19
- /** Fields used for scope filtering (e.g. channelIds, boardIds). */
20
- scopeFilterFields: readonly string[];
21
- }
22
- export declare class UnknownTriggerError extends Error {
23
- readonly triggerType: TriggerType;
24
- constructor(triggerType: TriggerType);
25
- }
26
- type AnyTrigger = BaseTrigger<z.ZodTypeAny>;
27
- export declare class TriggerRegistry {
28
- private readonly map;
29
- constructor();
30
- /** Register a trigger implementation. Throws on duplicate type. */
31
- register(instance: AnyTrigger): void;
32
- /** Look up a trigger by type. Throws `UnknownTriggerError` if not found. */
33
- get(type: TriggerType): AnyTrigger;
34
- /** All registered trigger instances. */
35
- list(): AnyTrigger[];
36
- /** Lightweight summaries — type, name, description, category, icon. */
37
- listSummaries(): TriggerSummary[];
38
- /** Full descriptor for a single trigger type — includes JSON Schemas and all metadata. */
39
- getDescriptor(type: TriggerType): TriggerDescriptor;
40
- /** Check if a trigger type is registered. */
41
- has(type: TriggerType): boolean;
42
- /** Number of registered triggers. */
43
- get size(): number;
44
- private buildSummary;
45
- private buildDescriptor;
46
- }
47
- export {};
48
- //# sourceMappingURL=trigger-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-registry.d.ts","sourceRoot":"","sources":["../../src/triggers/trigger-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,qEAAqE;IACrE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mEAAmE;IACnE,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAID,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEtB,WAAW,EAAE,WAAW;CAOrC;AAID,KAAK,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5C,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsC;;IAW1D,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IASpC,4EAA4E;IAC5E,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU;IAQlC,wCAAwC;IACxC,IAAI,IAAI,UAAU,EAAE;IAIpB,uEAAuE;IACvE,aAAa,IAAI,cAAc,EAAE;IAIjC,0FAA0F;IAC1F,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB;IAKnD,6CAA6C;IAC7C,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAI/B,qCAAqC;IACrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAID,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,eAAe;CASxB"}
@@ -1,83 +0,0 @@
1
- import { BaseTrigger } from './base-trigger.js';
2
- import { zodToJsonSchemaRecord } from '../util/schema-convert.js';
3
- import { DefaultManualTrigger } from './builtin/default-manual-trigger.js';
4
- import { DefaultWebhookTrigger } from './builtin/default-webhook-trigger.js';
5
- import { DefaultCronTrigger } from './builtin/default-cron-trigger.js';
6
- import { DefaultEventTrigger } from './builtin/default-event-trigger.js';
7
- import { DefaultWebhookV2Trigger } from './builtin/default-webhook-v2-trigger.js';
8
- // ─── Error ───
9
- export class UnknownTriggerError extends Error {
10
- triggerType;
11
- constructor(triggerType) {
12
- super(`TriggerRegistry: unknown trigger type "${triggerType}". Is it registered at boot?`);
13
- this.name = 'UnknownTriggerError';
14
- this.triggerType = triggerType;
15
- }
16
- }
17
- export class TriggerRegistry {
18
- map = new Map();
19
- constructor() {
20
- // Auto-register all built-in triggers
21
- this.map.set('MANUAL', new DefaultManualTrigger());
22
- this.map.set('WEBHOOK', new DefaultWebhookTrigger());
23
- this.map.set('CRON', new DefaultCronTrigger());
24
- this.map.set('EVENT', new DefaultEventTrigger());
25
- this.map.set('WEBHOOK_V2', new DefaultWebhookV2Trigger());
26
- }
27
- /** Register a trigger implementation. Throws on duplicate type. */
28
- register(instance) {
29
- if (this.map.has(instance.type)) {
30
- throw new Error(`TriggerRegistry: trigger type "${instance.type}" is already registered.`);
31
- }
32
- this.map.set(instance.type, instance);
33
- }
34
- /** Look up a trigger by type. Throws `UnknownTriggerError` if not found. */
35
- get(type) {
36
- const impl = this.map.get(type);
37
- if (!impl) {
38
- throw new UnknownTriggerError(type);
39
- }
40
- return impl;
41
- }
42
- /** All registered trigger instances. */
43
- list() {
44
- return Array.from(this.map.values());
45
- }
46
- /** Lightweight summaries — type, name, description, category, icon. */
47
- listSummaries() {
48
- return this.list().map((t) => this.buildSummary(t));
49
- }
50
- /** Full descriptor for a single trigger type — includes JSON Schemas and all metadata. */
51
- getDescriptor(type) {
52
- const impl = this.get(type);
53
- return this.buildDescriptor(impl);
54
- }
55
- /** Check if a trigger type is registered. */
56
- has(type) {
57
- return this.map.has(type);
58
- }
59
- /** Number of registered triggers. */
60
- get size() {
61
- return this.map.size;
62
- }
63
- // ─── Internal builders ───
64
- buildSummary(t) {
65
- return {
66
- type: t.type,
67
- name: t.name,
68
- description: t.description,
69
- category: t.category,
70
- ...(t.icon !== undefined ? { icon: t.icon } : {}),
71
- };
72
- }
73
- buildDescriptor(t) {
74
- return {
75
- ...this.buildSummary(t),
76
- configSchema: t.decorateConfigSchema(zodToJsonSchemaRecord(t.configSchema)),
77
- outputSchema: zodToJsonSchemaRecord(t.outputSchema),
78
- requiresScopeFilter: t.requiresScopeFilter ?? false,
79
- scopeFilterFields: t.scopeFilterFields ?? [],
80
- };
81
- }
82
- }
83
- //# sourceMappingURL=trigger-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-registry.js","sourceRoot":"","sources":["../../src/triggers/trigger-registry.ts"],"names":[],"mappings":"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"}