@xyne/workflow-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/README.md +36 -0
  2. package/dist/agents/agent-step.d.ts +152 -0
  3. package/dist/agents/agent-step.d.ts.map +1 -0
  4. package/dist/agents/agent-step.js +403 -0
  5. package/dist/agents/agent-step.js.map +1 -0
  6. package/dist/agents/base-runtime.d.ts +38 -0
  7. package/dist/agents/base-runtime.d.ts.map +1 -0
  8. package/dist/agents/base-runtime.js +21 -0
  9. package/dist/agents/base-runtime.js.map +1 -0
  10. package/dist/agents/index.d.ts +12 -0
  11. package/dist/agents/index.d.ts.map +1 -0
  12. package/dist/agents/index.js +17 -0
  13. package/dist/agents/index.js.map +1 -0
  14. package/dist/agents/interceptor.d.ts +19 -0
  15. package/dist/agents/interceptor.d.ts.map +1 -0
  16. package/dist/agents/interceptor.js +21 -0
  17. package/dist/agents/interceptor.js.map +1 -0
  18. package/dist/agents/interceptors/approval-gate.d.ts +14 -0
  19. package/dist/agents/interceptors/approval-gate.d.ts.map +1 -0
  20. package/dist/agents/interceptors/approval-gate.js +19 -0
  21. package/dist/agents/interceptors/approval-gate.js.map +1 -0
  22. package/dist/agents/interceptors/tool-logger.d.ts +15 -0
  23. package/dist/agents/interceptors/tool-logger.d.ts.map +1 -0
  24. package/dist/agents/interceptors/tool-logger.js +23 -0
  25. package/dist/agents/interceptors/tool-logger.js.map +1 -0
  26. package/dist/agents/pi-mono-runtime.d.ts +88 -0
  27. package/dist/agents/pi-mono-runtime.d.ts.map +1 -0
  28. package/dist/agents/pi-mono-runtime.js +129 -0
  29. package/dist/agents/pi-mono-runtime.js.map +1 -0
  30. package/dist/agents/tool-registry.d.ts +25 -0
  31. package/dist/agents/tool-registry.d.ts.map +1 -0
  32. package/dist/agents/tool-registry.js +47 -0
  33. package/dist/agents/tool-registry.js.map +1 -0
  34. package/dist/agents/tool-types.d.ts +25 -0
  35. package/dist/agents/tool-types.d.ts.map +1 -0
  36. package/dist/agents/tool-types.js +9 -0
  37. package/dist/agents/tool-types.js.map +1 -0
  38. package/dist/agents/types.d.ts +91 -0
  39. package/dist/agents/types.d.ts.map +1 -0
  40. package/dist/agents/types.js +12 -0
  41. package/dist/agents/types.js.map +1 -0
  42. package/dist/builder/index.d.ts +30 -0
  43. package/dist/builder/index.d.ts.map +1 -0
  44. package/dist/builder/index.js +32 -0
  45. package/dist/builder/index.js.map +1 -0
  46. package/dist/client/index.d.ts +19 -0
  47. package/dist/client/index.d.ts.map +1 -0
  48. package/dist/client/index.js +18 -0
  49. package/dist/client/index.js.map +1 -0
  50. package/dist/client/types.d.ts +128 -0
  51. package/dist/client/types.d.ts.map +1 -0
  52. package/dist/client/types.js +10 -0
  53. package/dist/client/types.js.map +1 -0
  54. package/dist/client/workflow-client.d.ts +15 -0
  55. package/dist/client/workflow-client.d.ts.map +1 -0
  56. package/dist/client/workflow-client.js +293 -0
  57. package/dist/client/workflow-client.js.map +1 -0
  58. package/dist/common/attachment.d.ts +31 -0
  59. package/dist/common/attachment.d.ts.map +1 -0
  60. package/dist/common/attachment.js +21 -0
  61. package/dist/common/attachment.js.map +1 -0
  62. package/dist/common/executable-check.d.ts +42 -0
  63. package/dist/common/executable-check.d.ts.map +1 -0
  64. package/dist/common/executable-check.js +115 -0
  65. package/dist/common/executable-check.js.map +1 -0
  66. package/dist/common/index.d.ts +21 -0
  67. package/dist/common/index.d.ts.map +1 -0
  68. package/dist/common/index.js +19 -0
  69. package/dist/common/index.js.map +1 -0
  70. package/dist/common/resume-payload.d.ts +34 -0
  71. package/dist/common/resume-payload.d.ts.map +1 -0
  72. package/dist/common/resume-payload.js +12 -0
  73. package/dist/common/resume-payload.js.map +1 -0
  74. package/dist/engine/available-context.d.ts +29 -0
  75. package/dist/engine/available-context.d.ts.map +1 -0
  76. package/dist/engine/available-context.js +66 -0
  77. package/dist/engine/available-context.js.map +1 -0
  78. package/dist/engine/condition-evaluator.d.ts +13 -0
  79. package/dist/engine/condition-evaluator.d.ts.map +1 -0
  80. package/dist/engine/condition-evaluator.js +92 -0
  81. package/dist/engine/condition-evaluator.js.map +1 -0
  82. package/dist/engine/config-validator.d.ts +25 -0
  83. package/dist/engine/config-validator.d.ts.map +1 -0
  84. package/dist/engine/config-validator.js +316 -0
  85. package/dist/engine/config-validator.js.map +1 -0
  86. package/dist/engine/pause-step.d.ts +20 -0
  87. package/dist/engine/pause-step.d.ts.map +1 -0
  88. package/dist/engine/pause-step.js +24 -0
  89. package/dist/engine/pause-step.js.map +1 -0
  90. package/dist/engine/service-registry.d.ts +49 -0
  91. package/dist/engine/service-registry.d.ts.map +1 -0
  92. package/dist/engine/service-registry.js +76 -0
  93. package/dist/engine/service-registry.js.map +1 -0
  94. package/dist/engine/variable-resolver.d.ts +29 -0
  95. package/dist/engine/variable-resolver.d.ts.map +1 -0
  96. package/dist/engine/variable-resolver.js +130 -0
  97. package/dist/engine/variable-resolver.js.map +1 -0
  98. package/dist/engine/workflow-executor.d.ts +96 -0
  99. package/dist/engine/workflow-executor.d.ts.map +1 -0
  100. package/dist/engine/workflow-executor.js +837 -0
  101. package/dist/engine/workflow-executor.js.map +1 -0
  102. package/dist/index.d.ts +57 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +56 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/persistence/in-memory-adapter.d.ts +138 -0
  107. package/dist/persistence/in-memory-adapter.d.ts.map +1 -0
  108. package/dist/persistence/in-memory-adapter.js +315 -0
  109. package/dist/persistence/in-memory-adapter.js.map +1 -0
  110. package/dist/persistence/types.d.ts +214 -0
  111. package/dist/persistence/types.d.ts.map +1 -0
  112. package/dist/persistence/types.js +8 -0
  113. package/dist/persistence/types.js.map +1 -0
  114. package/dist/router/types.d.ts +57 -0
  115. package/dist/router/types.d.ts.map +1 -0
  116. package/dist/router/types.js +8 -0
  117. package/dist/router/types.js.map +1 -0
  118. package/dist/router/workflow-router.d.ts +26 -0
  119. package/dist/router/workflow-router.d.ts.map +1 -0
  120. package/dist/router/workflow-router.js +611 -0
  121. package/dist/router/workflow-router.js.map +1 -0
  122. package/dist/runtime/execution-event-bus.d.ts +38 -0
  123. package/dist/runtime/execution-event-bus.d.ts.map +1 -0
  124. package/dist/runtime/execution-event-bus.js +87 -0
  125. package/dist/runtime/execution-event-bus.js.map +1 -0
  126. package/dist/runtime/types.d.ts +129 -0
  127. package/dist/runtime/types.d.ts.map +1 -0
  128. package/dist/runtime/types.js +5 -0
  129. package/dist/runtime/types.js.map +1 -0
  130. package/dist/runtime/workflow-runtime.d.ts +256 -0
  131. package/dist/runtime/workflow-runtime.d.ts.map +1 -0
  132. package/dist/runtime/workflow-runtime.js +699 -0
  133. package/dist/runtime/workflow-runtime.js.map +1 -0
  134. package/dist/steps/base-step.d.ts +204 -0
  135. package/dist/steps/base-step.d.ts.map +1 -0
  136. package/dist/steps/base-step.js +69 -0
  137. package/dist/steps/base-step.js.map +1 -0
  138. package/dist/steps/builtin/code.step.d.ts +95 -0
  139. package/dist/steps/builtin/code.step.d.ts.map +1 -0
  140. package/dist/steps/builtin/code.step.js +122 -0
  141. package/dist/steps/builtin/code.step.js.map +1 -0
  142. package/dist/steps/builtin/conditional.step.d.ts +146 -0
  143. package/dist/steps/builtin/conditional.step.d.ts.map +1 -0
  144. package/dist/steps/builtin/conditional.step.js +71 -0
  145. package/dist/steps/builtin/conditional.step.js.map +1 -0
  146. package/dist/steps/builtin/dedup.step.d.ts +65 -0
  147. package/dist/steps/builtin/dedup.step.d.ts.map +1 -0
  148. package/dist/steps/builtin/dedup.step.js +61 -0
  149. package/dist/steps/builtin/dedup.step.js.map +1 -0
  150. package/dist/steps/builtin/http-request.step.d.ts +928 -0
  151. package/dist/steps/builtin/http-request.step.d.ts.map +1 -0
  152. package/dist/steps/builtin/http-request.step.js +570 -0
  153. package/dist/steps/builtin/http-request.step.js.map +1 -0
  154. package/dist/steps/builtin/loop.step.d.ts +100 -0
  155. package/dist/steps/builtin/loop.step.d.ts.map +1 -0
  156. package/dist/steps/builtin/loop.step.js +79 -0
  157. package/dist/steps/builtin/loop.step.js.map +1 -0
  158. package/dist/steps/builtin/parallel.step.d.ts +208 -0
  159. package/dist/steps/builtin/parallel.step.d.ts.map +1 -0
  160. package/dist/steps/builtin/parallel.step.js +249 -0
  161. package/dist/steps/builtin/parallel.step.js.map +1 -0
  162. package/dist/steps/builtin/switch.step.d.ts +200 -0
  163. package/dist/steps/builtin/switch.step.d.ts.map +1 -0
  164. package/dist/steps/builtin/switch.step.js +92 -0
  165. package/dist/steps/builtin/switch.step.js.map +1 -0
  166. package/dist/steps/builtin/transform.step.d.ts +247 -0
  167. package/dist/steps/builtin/transform.step.d.ts.map +1 -0
  168. package/dist/steps/builtin/transform.step.js +135 -0
  169. package/dist/steps/builtin/transform.step.js.map +1 -0
  170. package/dist/steps/builtin/wait.step.d.ts +921 -0
  171. package/dist/steps/builtin/wait.step.d.ts.map +1 -0
  172. package/dist/steps/builtin/wait.step.js +211 -0
  173. package/dist/steps/builtin/wait.step.js.map +1 -0
  174. package/dist/steps/step-registry.d.ts +64 -0
  175. package/dist/steps/step-registry.d.ts.map +1 -0
  176. package/dist/steps/step-registry.js +102 -0
  177. package/dist/steps/step-registry.js.map +1 -0
  178. package/dist/storage/in-memory-adapter.d.ts +25 -0
  179. package/dist/storage/in-memory-adapter.d.ts.map +1 -0
  180. package/dist/storage/in-memory-adapter.js +41 -0
  181. package/dist/storage/in-memory-adapter.js.map +1 -0
  182. package/dist/storage/types.d.ts +53 -0
  183. package/dist/storage/types.d.ts.map +1 -0
  184. package/dist/storage/types.js +13 -0
  185. package/dist/storage/types.js.map +1 -0
  186. package/dist/testing/index.d.ts +10 -0
  187. package/dist/testing/index.d.ts.map +1 -0
  188. package/dist/testing/index.js +10 -0
  189. package/dist/testing/index.js.map +1 -0
  190. package/dist/testing/mock-context.d.ts +13 -0
  191. package/dist/testing/mock-context.d.ts.map +1 -0
  192. package/dist/testing/mock-context.js +21 -0
  193. package/dist/testing/mock-context.js.map +1 -0
  194. package/dist/testing/mock-step-context.d.ts +47 -0
  195. package/dist/testing/mock-step-context.d.ts.map +1 -0
  196. package/dist/testing/mock-step-context.js +59 -0
  197. package/dist/testing/mock-step-context.js.map +1 -0
  198. package/dist/triggers/base-trigger.d.ts +58 -0
  199. package/dist/triggers/base-trigger.d.ts.map +1 -0
  200. package/dist/triggers/base-trigger.js +37 -0
  201. package/dist/triggers/base-trigger.js.map +1 -0
  202. package/dist/triggers/builtin/default-cron-trigger.d.ts +44 -0
  203. package/dist/triggers/builtin/default-cron-trigger.d.ts.map +1 -0
  204. package/dist/triggers/builtin/default-cron-trigger.js +31 -0
  205. package/dist/triggers/builtin/default-cron-trigger.js.map +1 -0
  206. package/dist/triggers/builtin/default-event-trigger.d.ts +32 -0
  207. package/dist/triggers/builtin/default-event-trigger.d.ts.map +1 -0
  208. package/dist/triggers/builtin/default-event-trigger.js +21 -0
  209. package/dist/triggers/builtin/default-event-trigger.js.map +1 -0
  210. package/dist/triggers/builtin/default-manual-trigger.d.ts +119 -0
  211. package/dist/triggers/builtin/default-manual-trigger.d.ts.map +1 -0
  212. package/dist/triggers/builtin/default-manual-trigger.js +64 -0
  213. package/dist/triggers/builtin/default-manual-trigger.js.map +1 -0
  214. package/dist/triggers/builtin/default-webhook-trigger.d.ts +72 -0
  215. package/dist/triggers/builtin/default-webhook-trigger.d.ts.map +1 -0
  216. package/dist/triggers/builtin/default-webhook-trigger.js +91 -0
  217. package/dist/triggers/builtin/default-webhook-trigger.js.map +1 -0
  218. package/dist/triggers/cron-trigger.d.ts +52 -0
  219. package/dist/triggers/cron-trigger.d.ts.map +1 -0
  220. package/dist/triggers/cron-trigger.js +15 -0
  221. package/dist/triggers/cron-trigger.js.map +1 -0
  222. package/dist/triggers/event-trigger.d.ts +14 -0
  223. package/dist/triggers/event-trigger.d.ts.map +1 -0
  224. package/dist/triggers/event-trigger.js +13 -0
  225. package/dist/triggers/event-trigger.js.map +1 -0
  226. package/dist/triggers/manual-trigger.d.ts +11 -0
  227. package/dist/triggers/manual-trigger.d.ts.map +1 -0
  228. package/dist/triggers/manual-trigger.js +10 -0
  229. package/dist/triggers/manual-trigger.js.map +1 -0
  230. package/dist/triggers/trigger-registry.d.ts +48 -0
  231. package/dist/triggers/trigger-registry.d.ts.map +1 -0
  232. package/dist/triggers/trigger-registry.js +81 -0
  233. package/dist/triggers/trigger-registry.js.map +1 -0
  234. package/dist/triggers/webhook-trigger.d.ts +54 -0
  235. package/dist/triggers/webhook-trigger.d.ts.map +1 -0
  236. package/dist/triggers/webhook-trigger.js +13 -0
  237. package/dist/triggers/webhook-trigger.js.map +1 -0
  238. package/dist/types/attachment.d.ts +23 -0
  239. package/dist/types/attachment.d.ts.map +1 -0
  240. package/dist/types/attachment.js +2 -0
  241. package/dist/types/attachment.js.map +1 -0
  242. package/dist/types/categories.d.ts +14 -0
  243. package/dist/types/categories.d.ts.map +1 -0
  244. package/dist/types/categories.js +10 -0
  245. package/dist/types/categories.js.map +1 -0
  246. package/dist/types/context.d.ts +61 -0
  247. package/dist/types/context.d.ts.map +1 -0
  248. package/dist/types/context.js +2 -0
  249. package/dist/types/context.js.map +1 -0
  250. package/dist/types/index.d.ts +18 -0
  251. package/dist/types/index.d.ts.map +1 -0
  252. package/dist/types/index.js +12 -0
  253. package/dist/types/index.js.map +1 -0
  254. package/dist/types/known-types.d.ts +34 -0
  255. package/dist/types/known-types.d.ts.map +1 -0
  256. package/dist/types/known-types.js +49 -0
  257. package/dist/types/known-types.js.map +1 -0
  258. package/dist/types/operators.d.ts +20 -0
  259. package/dist/types/operators.d.ts.map +1 -0
  260. package/dist/types/operators.js +27 -0
  261. package/dist/types/operators.js.map +1 -0
  262. package/dist/types/pause-path.d.ts +23 -0
  263. package/dist/types/pause-path.d.ts.map +1 -0
  264. package/dist/types/pause-path.js +2 -0
  265. package/dist/types/pause-path.js.map +1 -0
  266. package/dist/types/pause-state.d.ts +100 -0
  267. package/dist/types/pause-state.d.ts.map +1 -0
  268. package/dist/types/pause-state.js +15 -0
  269. package/dist/types/pause-state.js.map +1 -0
  270. package/dist/types/resume-payload.d.ts +34 -0
  271. package/dist/types/resume-payload.d.ts.map +1 -0
  272. package/dist/types/resume-payload.js +12 -0
  273. package/dist/types/resume-payload.js.map +1 -0
  274. package/dist/types/status.d.ts +27 -0
  275. package/dist/types/status.d.ts.map +1 -0
  276. package/dist/types/status.js +41 -0
  277. package/dist/types/status.js.map +1 -0
  278. package/dist/types/step-events.d.ts +22 -0
  279. package/dist/types/step-events.d.ts.map +1 -0
  280. package/dist/types/step-events.js +8 -0
  281. package/dist/types/step-events.js.map +1 -0
  282. package/dist/types/step-types.d.ts +12 -0
  283. package/dist/types/step-types.d.ts.map +1 -0
  284. package/dist/types/step-types.js +2 -0
  285. package/dist/types/step-types.js.map +1 -0
  286. package/dist/types/trigger-types.d.ts +12 -0
  287. package/dist/types/trigger-types.d.ts.map +1 -0
  288. package/dist/types/trigger-types.js +2 -0
  289. package/dist/types/trigger-types.js.map +1 -0
  290. package/dist/types/validation.d.ts +19 -0
  291. package/dist/types/validation.d.ts.map +1 -0
  292. package/dist/types/validation.js +11 -0
  293. package/dist/types/validation.js.map +1 -0
  294. package/dist/types/workflow-config.d.ts +122 -0
  295. package/dist/types/workflow-config.d.ts.map +1 -0
  296. package/dist/types/workflow-config.js +71 -0
  297. package/dist/types/workflow-config.js.map +1 -0
  298. package/dist/util/executable-check.d.ts +42 -0
  299. package/dist/util/executable-check.d.ts.map +1 -0
  300. package/dist/util/executable-check.js +115 -0
  301. package/dist/util/executable-check.js.map +1 -0
  302. package/dist/util/schema-convert.d.ts +14 -0
  303. package/dist/util/schema-convert.d.ts.map +1 -0
  304. package/dist/util/schema-convert.js +16 -0
  305. package/dist/util/schema-convert.js.map +1 -0
  306. package/dist/util/variable-ref.d.ts +52 -0
  307. package/dist/util/variable-ref.d.ts.map +1 -0
  308. package/dist/util/variable-ref.js +89 -0
  309. package/dist/util/variable-ref.js.map +1 -0
  310. package/package.json +97 -0
@@ -0,0 +1,47 @@
1
+ import type { StepExecutionContext, ControlFlowExecutionContext } from '../steps/base-step.js';
2
+ import { ServiceRegistry } from '../engine/service-registry.js';
3
+ import type { WorkflowContext } from '../types/context.js';
4
+ import type { StepProgressEvent } from '../types/step-events.js';
5
+ interface MockStepContextOptions<TServices extends Record<string, unknown> = Record<string, unknown>> {
6
+ /** Override the full workflow context. */
7
+ workflow?: WorkflowContext;
8
+ /** Override runtime metadata. */
9
+ runtime?: Partial<StepExecutionContext['runtime']>;
10
+ /** Provide a pre-built ServiceRegistry. */
11
+ services?: ServiceRegistry<TServices>;
12
+ /** Pre-resolved credentials. */
13
+ credentials?: StepExecutionContext['credentials'];
14
+ /** Override static data methods. */
15
+ staticData?: Partial<StepExecutionContext['staticData']>;
16
+ /** Override logger methods. */
17
+ log?: Partial<StepExecutionContext['log']>;
18
+ /** Override emit function. */
19
+ emit?: (event: StepProgressEvent) => void;
20
+ /** Prior step data — set on review-gate retry or rerunFromStep. */
21
+ priorState?: Readonly<Record<string, unknown>>;
22
+ }
23
+ /**
24
+ * Create a mock StepExecutionContext for testing action steps.
25
+ *
26
+ * All fields have sensible defaults. The `pause()` function works
27
+ * (it throws `PauseStep`). Logger methods are no-ops by default.
28
+ */
29
+ export declare function createMockStepContext<TServices extends Record<string, unknown> = Record<string, unknown>>(options?: MockStepContextOptions<TServices>): StepExecutionContext<TServices>;
30
+ /**
31
+ * Create a mock ControlFlowExecutionContext for testing control flow steps.
32
+ *
33
+ * Extends `createMockStepContext` with a `walkBranch` stub that records calls.
34
+ */
35
+ export declare function createMockControlFlowContext<TServices extends Record<string, unknown> = Record<string, unknown>>(options?: MockStepContextOptions<TServices> & {
36
+ /** Custom walkBranch implementation. Default: no-op. */
37
+ walkBranch?: ControlFlowExecutionContext['walkBranch'];
38
+ }): ControlFlowExecutionContext<TServices> & {
39
+ /** Record of walkBranch calls for assertions. */
40
+ walkBranchCalls: Array<{
41
+ steps: unknown[];
42
+ context: WorkflowContext;
43
+ branchKey: string | undefined;
44
+ }>;
45
+ };
46
+ export {};
47
+ //# sourceMappingURL=mock-step-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-step-context.d.ts","sourceRoot":"","sources":["../../src/testing/mock-step-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,UAAU,sBAAsB,CAC9B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,gCAAgC;IAChC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,+BAA+B;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1C,mEAAmE;IACnE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEnE,OAAO,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAC1C,oBAAoB,CAAC,SAAS,CAAC,CAiCjC;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEnE,OAAO,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAAG;IAC5C,wDAAwD;IACxD,UAAU,CAAC,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;CACxD,GACA,2BAA2B,CAAC,SAAS,CAAC,GAAG;IAC1C,iDAAiD;IACjD,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,eAAe,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CACvG,CAaA"}
@@ -0,0 +1,59 @@
1
+ import { createPauseFunction } from '../steps/base-step.js';
2
+ import { ServiceRegistry } from '../engine/service-registry.js';
3
+ import { createMockContext } from './mock-context.js';
4
+ /**
5
+ * Create a mock StepExecutionContext for testing action steps.
6
+ *
7
+ * All fields have sensible defaults. The `pause()` function works
8
+ * (it throws `PauseStep`). Logger methods are no-ops by default.
9
+ */
10
+ export function createMockStepContext(options) {
11
+ const noop = () => { };
12
+ const noopAsync = () => Promise.resolve();
13
+ return {
14
+ workflow: options?.workflow ?? createMockContext(),
15
+ runtime: {
16
+ executionId: 'exec_test',
17
+ stepId: 'step_test_id',
18
+ stepName: 'step_test',
19
+ isResuming: false,
20
+ metadata: {},
21
+ baseUrl: '',
22
+ ...options?.runtime,
23
+ },
24
+ ...(options?.priorState ? { priorState: options.priorState } : {}),
25
+ services: options?.services ??
26
+ new ServiceRegistry(),
27
+ credentials: options?.credentials ?? {},
28
+ staticData: {
29
+ get: options?.staticData?.get ?? (() => Promise.resolve(undefined)),
30
+ set: options?.staticData?.set ?? noopAsync,
31
+ delete: options?.staticData?.delete ?? noopAsync,
32
+ },
33
+ pause: createPauseFunction(),
34
+ emit: options?.emit ?? noop,
35
+ log: {
36
+ info: options?.log?.info ?? noop,
37
+ warn: options?.log?.warn ?? noop,
38
+ error: options?.log?.error ?? noop,
39
+ },
40
+ };
41
+ }
42
+ /**
43
+ * Create a mock ControlFlowExecutionContext for testing control flow steps.
44
+ *
45
+ * Extends `createMockStepContext` with a `walkBranch` stub that records calls.
46
+ */
47
+ export function createMockControlFlowContext(options) {
48
+ const calls = [];
49
+ const stepCtx = createMockStepContext(options);
50
+ return {
51
+ ...stepCtx,
52
+ walkBranch: options?.walkBranch ??
53
+ (async (steps, context, branchKey) => {
54
+ calls.push({ steps, context, branchKey });
55
+ }),
56
+ walkBranchCalls: calls,
57
+ };
58
+ }
59
+ //# sourceMappingURL=mock-step-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-step-context.js","sourceRoot":"","sources":["../../src/testing/mock-step-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAuBtD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAGnC,OAA2C;IAE3C,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE;QAClD,OAAO,EAAE;YACP,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,GAAG,OAAO,EAAE,OAAO;SACpB;QACD,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,QAAQ,EACN,OAAO,EAAE,QAAQ;YAChB,IAAI,eAAe,EAA4C;QAClE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,UAAU,EAAE;YACV,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,SAAS;YAC1C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS;SACjD;QACD,KAAK,EAAE,mBAAmB,EAAE;QAC5B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,GAAG,EAAE;YACH,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;YAChC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;YAChC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,IAAI;SACnC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAG1C,OAGC;IAKD,MAAM,KAAK,GAAyF,EAAE,CAAC;IACvG,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EACR,OAAO,EAAE,UAAU;YACnB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5C,CAAC,CAAC;QACJ,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { z } from 'zod';
2
+ import type { TriggerType } from '../types/trigger-types.js';
3
+ import type { TriggerCategory } from '../types/categories.js';
4
+ /**
5
+ * Abstract base for all triggers.
6
+ *
7
+ * A trigger defines:
8
+ * - What starts a workflow (type + config)
9
+ * - What data it produces (outputSchema)
10
+ * - How to validate user config and match incoming events
11
+ *
12
+ * Host implements concrete triggers (e.g. TicketCreatedTrigger, CronTrigger)
13
+ * and registers them into the TriggerRegistry.
14
+ */
15
+ export declare abstract class BaseTrigger<TConfig extends z.ZodTypeAny> {
16
+ abstract readonly type: TriggerType;
17
+ abstract readonly configSchema: TConfig;
18
+ abstract readonly name: string;
19
+ abstract readonly description: string;
20
+ abstract readonly outputSchema: z.ZodTypeAny;
21
+ abstract readonly category: TriggerCategory;
22
+ readonly icon?: string;
23
+ /** Whether this trigger requires scope-based filtering in the UI. */
24
+ readonly requiresScopeFilter?: boolean;
25
+ /** Fields used for scope filtering (e.g. channelIds, boardIds). */
26
+ readonly scopeFilterFields?: readonly string[];
27
+ /** Validate raw config against the trigger's schema. */
28
+ validate(config: unknown): z.infer<TConfig>;
29
+ /**
30
+ * Post-load enrichment — resolve IDs to full objects, fetch related data, etc.
31
+ * Called after the trigger fires, before the workflow starts.
32
+ */
33
+ hydratePayload?(payload: Record<string, unknown>): Promise<Record<string, unknown>>;
34
+ /**
35
+ * Does the incoming event match the user-configured filters?
36
+ * Default: always matches. Override for domain-specific filter logic.
37
+ */
38
+ matchFilters(_filter: Record<string, unknown>, _payload: Record<string, unknown>): boolean;
39
+ /**
40
+ * Customize the JSON Schema generated from configSchema for UI form rendering.
41
+ * Override to add field metadata, ordering, conditional visibility, etc.
42
+ */
43
+ decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
44
+ /**
45
+ * Resolve a per-instance output JSON Schema from the trigger's saved config.
46
+ *
47
+ * Mirrors {@link BaseStep.resolveOutputJsonSchema}. Triggers that let
48
+ * authors describe the shape of incoming data (`inputSchema` on the
49
+ * manual trigger, `bodySchema` / `headersSchema` / `querySchema` on the
50
+ * default webhook trigger) should override this to type the variable
51
+ * picker for downstream steps.
52
+ *
53
+ * Default: not implemented — `available-context.ts` falls back to the
54
+ * static `outputSchema`.
55
+ */
56
+ resolveOutputJsonSchema?(config: Record<string, unknown>): Record<string, unknown>;
57
+ }
58
+ //# sourceMappingURL=base-trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/base-trigger.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;AAE9D;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU;IAC5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAEvC,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE/C,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAI3C;;;OAGG;IACH,cAAc,CAAC,CACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO;IAIV;;;OAGG;IACH,oBAAoB,CAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI1B;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Abstract base for all triggers.
3
+ *
4
+ * A trigger defines:
5
+ * - What starts a workflow (type + config)
6
+ * - What data it produces (outputSchema)
7
+ * - How to validate user config and match incoming events
8
+ *
9
+ * Host implements concrete triggers (e.g. TicketCreatedTrigger, CronTrigger)
10
+ * and registers them into the TriggerRegistry.
11
+ */
12
+ export class BaseTrigger {
13
+ icon;
14
+ /** Whether this trigger requires scope-based filtering in the UI. */
15
+ requiresScopeFilter;
16
+ /** Fields used for scope filtering (e.g. channelIds, boardIds). */
17
+ scopeFilterFields;
18
+ /** Validate raw config against the trigger's schema. */
19
+ validate(config) {
20
+ return this.configSchema.parse(config);
21
+ }
22
+ /**
23
+ * Does the incoming event match the user-configured filters?
24
+ * Default: always matches. Override for domain-specific filter logic.
25
+ */
26
+ matchFilters(_filter, _payload) {
27
+ return true;
28
+ }
29
+ /**
30
+ * Customize the JSON Schema generated from configSchema for UI form rendering.
31
+ * Override to add field metadata, ordering, conditional visibility, etc.
32
+ */
33
+ decorateConfigSchema(jsonSchema) {
34
+ return jsonSchema;
35
+ }
36
+ }
37
+ //# sourceMappingURL=base-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-trigger.js","sourceRoot":"","sources":["../../src/triggers/base-trigger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,WAAW;IAOtB,IAAI,CAAU;IAEvB,qEAAqE;IAC5D,mBAAmB,CAAW;IAEvC,mEAAmE;IAC1D,iBAAiB,CAAqB;IAE/C,wDAAwD;IACxD,QAAQ,CAAC,MAAe;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IAC7D,CAAC;IAUD;;;OAGG;IACH,YAAY,CACV,OAAgC,EAChC,QAAiC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAClB,UAAmC;QAEnC,OAAO,UAAU,CAAC;IACpB,CAAC;CAiBF"}
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ import { CronTrigger } from '../cron-trigger.js';
3
+ import type { CronSchedule } from '../cron-trigger.js';
4
+ import { BuiltinTriggerType } from '../../types/known-types.js';
5
+ import { TriggerCategory } from '../../types/categories.js';
6
+ declare const DefaultCronTriggerConfigSchema: z.ZodObject<{
7
+ expression: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ expression: string;
10
+ }, {
11
+ expression: string;
12
+ }>;
13
+ /**
14
+ * Default cron trigger — fires on a cron schedule.
15
+ *
16
+ * Config accepts only the cron expression. Timezone is set globally on the
17
+ * runtime via `RuntimeOptions.defaultCronTimezone` (defaults to
18
+ * `Asia/Kolkata`), so every cron job in a deployment runs against the same
19
+ * zone.
20
+ */
21
+ export declare class DefaultCronTrigger extends CronTrigger<typeof DefaultCronTriggerConfigSchema> {
22
+ readonly type = BuiltinTriggerType.CRON;
23
+ readonly name = "Cron Trigger";
24
+ readonly description = "Trigger a workflow on a recurring schedule";
25
+ readonly category = TriggerCategory.CRON;
26
+ readonly icon = "timer";
27
+ readonly configSchema: z.ZodObject<{
28
+ expression: z.ZodString;
29
+ }, "strip", z.ZodTypeAny, {
30
+ expression: string;
31
+ }, {
32
+ expression: string;
33
+ }>;
34
+ readonly outputSchema: z.ZodObject<{
35
+ firedAt: z.ZodString;
36
+ }, "strip", z.ZodTypeAny, {
37
+ firedAt: string;
38
+ }, {
39
+ firedAt: string;
40
+ }>;
41
+ getSchedule(config: z.infer<typeof DefaultCronTriggerConfigSchema>): CronSchedule;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=default-cron-trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-cron-trigger.d.ts","sourceRoot":"","sources":["../../../src/triggers/builtin/default-cron-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,QAAA,MAAM,8BAA8B;;;;;;EAGlC,CAAC;AAEH;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,OAAO,8BAA8B,CAAC;IACxF,SAAkB,IAAI,2BAA2B;IACjD,SAAkB,IAAI,kBAAkB;IACxC,SAAkB,WAAW,gDAAgD;IAC7E,SAAkB,QAAQ,wBAAwB;IAClD,SAAkB,IAAI,WAAW;IACjC,SAAkB,YAAY;;;;;;OAAkC;IAChE,SAAkB,YAAY;;;;;;OAE3B;IAEH,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,GAAG,YAAY;CAGlF"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ import { CronTrigger } from '../cron-trigger.js';
3
+ import { BuiltinTriggerType } from '../../types/known-types.js';
4
+ import { TriggerCategory } from '../../types/categories.js';
5
+ const DefaultCronTriggerConfigSchema = z.object({
6
+ expression: z.string().min(1)
7
+ .describe('Cron expression defining the schedule (e.g. "0 * * * *" for every hour)'),
8
+ });
9
+ /**
10
+ * Default cron trigger — fires on a cron schedule.
11
+ *
12
+ * Config accepts only the cron expression. Timezone is set globally on the
13
+ * runtime via `RuntimeOptions.defaultCronTimezone` (defaults to
14
+ * `Asia/Kolkata`), so every cron job in a deployment runs against the same
15
+ * zone.
16
+ */
17
+ export class DefaultCronTrigger extends CronTrigger {
18
+ type = BuiltinTriggerType.CRON;
19
+ name = 'Cron Trigger';
20
+ description = 'Trigger a workflow on a recurring schedule';
21
+ category = TriggerCategory.CRON;
22
+ icon = 'timer';
23
+ configSchema = DefaultCronTriggerConfigSchema;
24
+ outputSchema = z.object({
25
+ firedAt: z.string(),
26
+ });
27
+ getSchedule(config) {
28
+ return { expression: config.expression };
29
+ }
30
+ }
31
+ //# sourceMappingURL=default-cron-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-cron-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-cron-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1B,QAAQ,CAAC,yEAAyE,CAAC;CACvF,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAkD;IACtE,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAC/B,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,4CAA4C,CAAC;IAC3D,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;IAChC,IAAI,GAAG,OAAO,CAAC;IACf,YAAY,GAAG,8BAA8B,CAAC;IAC9C,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC;IAEH,WAAW,CAAC,MAAsD;QAChE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import { EventTrigger } from '../event-trigger.js';
3
+ import { BuiltinTriggerType } from '../../types/known-types.js';
4
+ import { TriggerCategory } from '../../types/categories.js';
5
+ declare const DefaultEventTriggerConfigSchema: z.ZodObject<{
6
+ eventType: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ eventType: string;
9
+ }, {
10
+ eventType: string;
11
+ }>;
12
+ /**
13
+ * Default event trigger — fires when a matching event is dispatched.
14
+ * Config accepts an event type string to filter on.
15
+ */
16
+ export declare class DefaultEventTrigger extends EventTrigger<typeof DefaultEventTriggerConfigSchema> {
17
+ readonly type = BuiltinTriggerType.EVENT;
18
+ readonly name = "Event Trigger";
19
+ readonly description = "Trigger a workflow when a specific event occurs";
20
+ readonly category = TriggerCategory.EVENT;
21
+ readonly icon = "bell";
22
+ readonly configSchema: z.ZodObject<{
23
+ eventType: z.ZodString;
24
+ }, "strip", z.ZodTypeAny, {
25
+ eventType: string;
26
+ }, {
27
+ eventType: string;
28
+ }>;
29
+ readonly outputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=default-event-trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-event-trigger.d.ts","sourceRoot":"","sources":["../../../src/triggers/builtin/default-event-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,QAAA,MAAM,+BAA+B;;;;;;EAEnC,CAAC;AAEH;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,OAAO,+BAA+B,CAAC;IAC3F,SAAkB,IAAI,4BAA4B;IAClD,SAAkB,IAAI,mBAAmB;IACzC,SAAkB,WAAW,qDAAqD;IAClF,SAAkB,QAAQ,yBAAyB;IACnD,SAAkB,IAAI,UAAU;IAChC,SAAkB,YAAY;;;;;;OAAmC;IACjE,SAAkB,YAAY,yCAAyB;CACxD"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { EventTrigger } from '../event-trigger.js';
3
+ import { BuiltinTriggerType } from '../../types/known-types.js';
4
+ import { TriggerCategory } from '../../types/categories.js';
5
+ const DefaultEventTriggerConfigSchema = z.object({
6
+ eventType: z.string().min(1).describe('The event type to listen for (e.g. "order.created", "user.signup")'),
7
+ });
8
+ /**
9
+ * Default event trigger — fires when a matching event is dispatched.
10
+ * Config accepts an event type string to filter on.
11
+ */
12
+ export class DefaultEventTrigger extends EventTrigger {
13
+ type = BuiltinTriggerType.EVENT;
14
+ name = 'Event Trigger';
15
+ description = 'Trigger a workflow when a specific event occurs';
16
+ category = TriggerCategory.EVENT;
17
+ icon = 'bell';
18
+ configSchema = DefaultEventTriggerConfigSchema;
19
+ outputSchema = z.record(z.unknown());
20
+ }
21
+ //# sourceMappingURL=default-event-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-event-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-event-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oEAAoE,CAAC;CAC5G,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAoD;IACzE,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC;IAChC,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,iDAAiD,CAAC;IAChE,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;IACjC,IAAI,GAAG,MAAM,CAAC;IACd,YAAY,GAAG,+BAA+B,CAAC;IAC/C,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACxD"}
@@ -0,0 +1,119 @@
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
+ * Attachments slot — declares that the manual trigger accepts file uploads
7
+ * alongside the JSON-schema-typed fields. When present, the UI renders an
8
+ * upload zone above the schema form; the files land in
9
+ * `context.trigger.attachments` as {@link Attachment} references.
10
+ */
11
+ export declare const ManualTriggerAttachmentsSchema: z.ZodObject<{
12
+ accept: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ maxSize: z.ZodOptional<z.ZodNumber>;
14
+ maxCount: z.ZodOptional<z.ZodNumber>;
15
+ required: z.ZodDefault<z.ZodBoolean>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ required: boolean;
18
+ accept?: string[] | undefined;
19
+ maxSize?: number | undefined;
20
+ maxCount?: number | undefined;
21
+ }, {
22
+ accept?: string[] | undefined;
23
+ maxSize?: number | undefined;
24
+ maxCount?: number | undefined;
25
+ required?: boolean | undefined;
26
+ }>;
27
+ export type ManualTriggerAttachmentsConfig = z.infer<typeof ManualTriggerAttachmentsSchema>;
28
+ export declare const DefaultManualTriggerConfigSchema: z.ZodObject<{
29
+ inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
30
+ attachments: z.ZodOptional<z.ZodObject<{
31
+ accept: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
32
+ maxSize: z.ZodOptional<z.ZodNumber>;
33
+ maxCount: z.ZodOptional<z.ZodNumber>;
34
+ required: z.ZodDefault<z.ZodBoolean>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ required: boolean;
37
+ accept?: string[] | undefined;
38
+ maxSize?: number | undefined;
39
+ maxCount?: number | undefined;
40
+ }, {
41
+ accept?: string[] | undefined;
42
+ maxSize?: number | undefined;
43
+ maxCount?: number | undefined;
44
+ required?: boolean | undefined;
45
+ }>>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ inputSchema?: Record<string, unknown> | undefined;
48
+ attachments?: {
49
+ required: boolean;
50
+ accept?: string[] | undefined;
51
+ maxSize?: number | undefined;
52
+ maxCount?: number | undefined;
53
+ } | undefined;
54
+ }, {
55
+ inputSchema?: Record<string, unknown> | undefined;
56
+ attachments?: {
57
+ accept?: string[] | undefined;
58
+ maxSize?: number | undefined;
59
+ maxCount?: number | undefined;
60
+ required?: boolean | undefined;
61
+ } | undefined;
62
+ }>;
63
+ /**
64
+ * Default manual trigger — fires via `runtime.triggerManual()`.
65
+ * Accepts any JSON payload as input plus optional file attachments.
66
+ */
67
+ export declare class DefaultManualTrigger extends ManualTrigger<typeof DefaultManualTriggerConfigSchema> {
68
+ readonly type = BuiltinTriggerType.MANUAL;
69
+ readonly name = "Manual Trigger";
70
+ readonly description = "Trigger a workflow manually with a custom payload";
71
+ readonly category = TriggerCategory.MANUAL;
72
+ readonly icon = "cursor";
73
+ readonly configSchema: z.ZodObject<{
74
+ inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
75
+ attachments: z.ZodOptional<z.ZodObject<{
76
+ accept: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
77
+ maxSize: z.ZodOptional<z.ZodNumber>;
78
+ maxCount: z.ZodOptional<z.ZodNumber>;
79
+ required: z.ZodDefault<z.ZodBoolean>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ required: boolean;
82
+ accept?: string[] | undefined;
83
+ maxSize?: number | undefined;
84
+ maxCount?: number | undefined;
85
+ }, {
86
+ accept?: string[] | undefined;
87
+ maxSize?: number | undefined;
88
+ maxCount?: number | undefined;
89
+ required?: boolean | undefined;
90
+ }>>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ inputSchema?: Record<string, unknown> | undefined;
93
+ attachments?: {
94
+ required: boolean;
95
+ accept?: string[] | undefined;
96
+ maxSize?: number | undefined;
97
+ maxCount?: number | undefined;
98
+ } | undefined;
99
+ }, {
100
+ inputSchema?: Record<string, unknown> | undefined;
101
+ attachments?: {
102
+ accept?: string[] | undefined;
103
+ maxSize?: number | undefined;
104
+ maxCount?: number | undefined;
105
+ required?: boolean | undefined;
106
+ } | undefined;
107
+ }>;
108
+ readonly outputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
109
+ decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
110
+ /**
111
+ * The author-supplied `inputSchema` describes the manual trigger payload
112
+ * exactly. Whatever they send via `triggerManual(workflowId, payload)`
113
+ * is merged into `context.trigger`, so the variable picker should see
114
+ * those typed fields directly. Falls back to a permissive object when
115
+ * the author hasn't declared a schema.
116
+ */
117
+ resolveOutputJsonSchema(config: Record<string, unknown>): Record<string, unknown>;
118
+ }
119
+ //# sourceMappingURL=default-manual-trigger.d.ts.map
@@ -0,0 +1 @@
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;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EASzC,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE5F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3C,CAAC;AAEH;;;GAGG;AACH,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"}
@@ -0,0 +1,64 @@
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
+ * Attachments slot — declares that the manual trigger accepts file uploads
7
+ * alongside the JSON-schema-typed fields. When present, the UI renders an
8
+ * upload zone above the schema form; the files land in
9
+ * `context.trigger.attachments` as {@link Attachment} references.
10
+ */
11
+ export const ManualTriggerAttachmentsSchema = z.object({
12
+ accept: z.array(z.string()).optional()
13
+ .describe('Allowed MIME types or wildcards, e.g. ["application/pdf", "image/*"]'),
14
+ maxSize: z.number().int().positive().optional()
15
+ .describe('Max bytes per file'),
16
+ maxCount: z.number().int().positive().optional()
17
+ .describe('Max number of files'),
18
+ required: z.boolean().default(false)
19
+ .describe('Whether at least one attachment is required to trigger the workflow'),
20
+ });
21
+ export const DefaultManualTriggerConfigSchema = z.object({
22
+ inputSchema: z.record(z.unknown()).optional()
23
+ .describe('JSON Schema describing the expected manual input. The UI renders a form from this when triggering'),
24
+ attachments: ManualTriggerAttachmentsSchema.optional()
25
+ .describe('When set, the trigger UI shows a file upload area; uploaded files land in context.trigger.attachments'),
26
+ });
27
+ /**
28
+ * Default manual trigger — fires via `runtime.triggerManual()`.
29
+ * Accepts any JSON payload as input plus optional file attachments.
30
+ */
31
+ export class DefaultManualTrigger extends ManualTrigger {
32
+ type = BuiltinTriggerType.MANUAL;
33
+ name = 'Manual Trigger';
34
+ description = 'Trigger a workflow manually with a custom payload';
35
+ category = TriggerCategory.MANUAL;
36
+ icon = 'cursor';
37
+ configSchema = DefaultManualTriggerConfigSchema;
38
+ outputSchema = z.record(z.unknown());
39
+ decorateConfigSchema(jsonSchema) {
40
+ const props = jsonSchema['properties'];
41
+ if (props?.['inputSchema']) {
42
+ props['inputSchema'] = { ...props['inputSchema'], format: 'json-schema' };
43
+ }
44
+ return jsonSchema;
45
+ }
46
+ /**
47
+ * The author-supplied `inputSchema` describes the manual trigger payload
48
+ * exactly. Whatever they send via `triggerManual(workflowId, payload)`
49
+ * is merged into `context.trigger`, so the variable picker should see
50
+ * those typed fields directly. Falls back to a permissive object when
51
+ * the author hasn't declared a schema.
52
+ */
53
+ resolveOutputJsonSchema(config) {
54
+ const inputSchema = config['inputSchema'];
55
+ if (inputSchema &&
56
+ typeof inputSchema === 'object' &&
57
+ !Array.isArray(inputSchema) &&
58
+ Object.keys(inputSchema).length > 0) {
59
+ return inputSchema;
60
+ }
61
+ return { type: 'object', additionalProperties: true };
62
+ }
63
+ }
64
+ //# sourceMappingURL=default-manual-trigger.js.map
@@ -0,0 +1 @@
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;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACnC,QAAQ,CAAC,sEAAsE,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC5C,QAAQ,CAAC,oBAAoB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC7C,QAAQ,CAAC,qBAAqB,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SACjC,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAC;AAIH,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,mGAAmG,CAAC;IAChH,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE;SACnD,QAAQ,CAAC,uGAAuG,CAAC;CACrH,CAAC,CAAC;AAEH;;;GAGG;AACH,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,IACE,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,EAC9D,CAAC;YACD,OAAO,WAAsC,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,72 @@
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
@@ -0,0 +1 @@
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"}