@xyne/workflow-sdk 3.2.36 → 3.2.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/dist/agents/agent-step.d.ts +2 -2
  2. package/dist/agents/host-agent-step.d.ts +1 -1
  3. package/dist/builder/index.d.ts +2 -2
  4. package/dist/builder/index.d.ts.map +1 -1
  5. package/dist/builder/index.js +1 -1
  6. package/dist/builder/index.js.map +1 -1
  7. package/dist/client/events-client.d.ts +57 -0
  8. package/dist/client/events-client.d.ts.map +1 -0
  9. package/dist/client/events-client.js +107 -0
  10. package/dist/client/events-client.js.map +1 -0
  11. package/dist/client/index.d.ts +2 -0
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/sse.d.ts +30 -0
  14. package/dist/client/sse.d.ts.map +1 -0
  15. package/dist/client/sse.js +76 -0
  16. package/dist/client/sse.js.map +1 -0
  17. package/dist/client/types.d.ts +31 -6
  18. package/dist/client/types.d.ts.map +1 -1
  19. package/dist/client/url.d.ts +11 -0
  20. package/dist/client/url.d.ts.map +1 -0
  21. package/dist/client/url.js +28 -0
  22. package/dist/client/url.js.map +1 -0
  23. package/dist/client/workflow-client.d.ts +1 -1
  24. package/dist/client/workflow-client.d.ts.map +1 -1
  25. package/dist/client/workflow-client.js +32 -20
  26. package/dist/client/workflow-client.js.map +1 -1
  27. package/dist/common/citation-ref.d.ts +4 -4
  28. package/dist/common/credentials.d.ts +107 -0
  29. package/dist/common/credentials.d.ts.map +1 -1
  30. package/dist/common/credentials.js +67 -0
  31. package/dist/common/credentials.js.map +1 -1
  32. package/dist/common/index.d.ts +2 -2
  33. package/dist/common/index.d.ts.map +1 -1
  34. package/dist/common/index.js +2 -2
  35. package/dist/common/index.js.map +1 -1
  36. package/dist/connectors/builtin/builtin-connector.d.ts +32 -0
  37. package/dist/connectors/builtin/builtin-connector.d.ts.map +1 -0
  38. package/dist/connectors/builtin/builtin-connector.js +62 -0
  39. package/dist/connectors/builtin/builtin-connector.js.map +1 -0
  40. package/dist/connectors/builtin/credentials.d.ts +18 -0
  41. package/dist/connectors/builtin/credentials.d.ts.map +1 -0
  42. package/dist/connectors/builtin/credentials.js +50 -0
  43. package/dist/connectors/builtin/credentials.js.map +1 -0
  44. package/dist/connectors/builtin/steps/code.step.d.ts +99 -0
  45. package/dist/connectors/builtin/steps/code.step.d.ts.map +1 -0
  46. package/dist/connectors/builtin/steps/code.step.js +152 -0
  47. package/dist/connectors/builtin/steps/code.step.js.map +1 -0
  48. package/dist/connectors/builtin/steps/conditional.step.d.ts +182 -0
  49. package/dist/connectors/builtin/steps/conditional.step.d.ts.map +1 -0
  50. package/dist/connectors/builtin/steps/conditional.step.js +82 -0
  51. package/dist/connectors/builtin/steps/conditional.step.js.map +1 -0
  52. package/dist/connectors/builtin/steps/dedup.step.d.ts +65 -0
  53. package/dist/connectors/builtin/steps/dedup.step.d.ts.map +1 -0
  54. package/dist/connectors/builtin/steps/dedup.step.js +61 -0
  55. package/dist/connectors/builtin/steps/dedup.step.js.map +1 -0
  56. package/dist/connectors/builtin/steps/http-request.step.d.ts +1027 -0
  57. package/dist/connectors/builtin/steps/http-request.step.d.ts.map +1 -0
  58. package/dist/connectors/builtin/steps/http-request.step.js +497 -0
  59. package/dist/connectors/builtin/steps/http-request.step.js.map +1 -0
  60. package/dist/connectors/builtin/steps/loop.step.d.ts +100 -0
  61. package/dist/connectors/builtin/steps/loop.step.d.ts.map +1 -0
  62. package/dist/connectors/builtin/steps/loop.step.js +73 -0
  63. package/dist/connectors/builtin/steps/loop.step.js.map +1 -0
  64. package/dist/connectors/builtin/steps/map.step.d.ts +148 -0
  65. package/dist/connectors/builtin/steps/map.step.d.ts.map +1 -0
  66. package/dist/connectors/builtin/steps/map.step.js +111 -0
  67. package/dist/connectors/builtin/steps/map.step.js.map +1 -0
  68. package/dist/connectors/builtin/steps/parallel.step.d.ts +246 -0
  69. package/dist/connectors/builtin/steps/parallel.step.d.ts.map +1 -0
  70. package/dist/connectors/builtin/steps/parallel.step.js +175 -0
  71. package/dist/connectors/builtin/steps/parallel.step.js.map +1 -0
  72. package/dist/connectors/builtin/steps/ssrf-guard.d.ts +9 -0
  73. package/dist/connectors/builtin/steps/ssrf-guard.d.ts.map +1 -0
  74. package/dist/connectors/builtin/steps/ssrf-guard.js +115 -0
  75. package/dist/connectors/builtin/steps/ssrf-guard.js.map +1 -0
  76. package/dist/connectors/builtin/steps/switch.step.d.ts +235 -0
  77. package/dist/connectors/builtin/steps/switch.step.d.ts.map +1 -0
  78. package/dist/connectors/builtin/steps/switch.step.js +101 -0
  79. package/dist/connectors/builtin/steps/switch.step.js.map +1 -0
  80. package/dist/connectors/builtin/steps/wait.step.d.ts +1072 -0
  81. package/dist/connectors/builtin/steps/wait.step.d.ts.map +1 -0
  82. package/dist/connectors/builtin/steps/wait.step.js +254 -0
  83. package/dist/connectors/builtin/steps/wait.step.js.map +1 -0
  84. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts +44 -0
  85. package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts.map +1 -0
  86. package/dist/connectors/builtin/triggers/default-cron-trigger.js +31 -0
  87. package/dist/connectors/builtin/triggers/default-cron-trigger.js.map +1 -0
  88. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts +32 -0
  89. package/dist/connectors/builtin/triggers/default-event-trigger.d.ts.map +1 -0
  90. package/dist/connectors/builtin/triggers/default-event-trigger.js +21 -0
  91. package/dist/connectors/builtin/triggers/default-event-trigger.js.map +1 -0
  92. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts +45 -0
  93. package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts.map +1 -0
  94. package/dist/connectors/builtin/triggers/default-manual-trigger.js +51 -0
  95. package/dist/connectors/builtin/triggers/default-manual-trigger.js.map +1 -0
  96. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts +31 -0
  97. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts.map +1 -0
  98. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js +40 -0
  99. package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js.map +1 -0
  100. package/dist/connectors/core/base-connector.d.ts +45 -0
  101. package/dist/connectors/core/base-connector.d.ts.map +1 -0
  102. package/dist/connectors/core/base-connector.js +3 -0
  103. package/dist/connectors/core/base-connector.js.map +1 -0
  104. package/dist/connectors/core/connector-registry.d.ts +130 -0
  105. package/dist/connectors/core/connector-registry.d.ts.map +1 -0
  106. package/dist/connectors/core/connector-registry.js +357 -0
  107. package/dist/connectors/core/connector-registry.js.map +1 -0
  108. package/dist/connectors/core/credentials.d.ts +104 -0
  109. package/dist/connectors/core/credentials.d.ts.map +1 -0
  110. package/dist/connectors/core/credentials.js +67 -0
  111. package/dist/connectors/core/credentials.js.map +1 -0
  112. package/dist/connectors/core/index.d.ts +7 -0
  113. package/dist/connectors/core/index.d.ts.map +1 -0
  114. package/dist/connectors/core/index.js +5 -0
  115. package/dist/connectors/core/index.js.map +1 -0
  116. package/dist/engine/available-context.d.ts +3 -4
  117. package/dist/engine/available-context.d.ts.map +1 -1
  118. package/dist/engine/available-context.js +17 -13
  119. package/dist/engine/available-context.js.map +1 -1
  120. package/dist/engine/config-validator.d.ts +13 -5
  121. package/dist/engine/config-validator.d.ts.map +1 -1
  122. package/dist/engine/config-validator.js +89 -11
  123. package/dist/engine/config-validator.js.map +1 -1
  124. package/dist/engine/credential-resolver.d.ts +42 -0
  125. package/dist/engine/credential-resolver.d.ts.map +1 -0
  126. package/dist/engine/credential-resolver.js +63 -0
  127. package/dist/engine/credential-resolver.js.map +1 -0
  128. package/dist/engine/workflow-executor.d.ts +15 -9
  129. package/dist/engine/workflow-executor.d.ts.map +1 -1
  130. package/dist/engine/workflow-executor.js +31 -40
  131. package/dist/engine/workflow-executor.js.map +1 -1
  132. package/dist/events/in-memory-adapter.d.ts +15 -0
  133. package/dist/events/in-memory-adapter.d.ts.map +1 -0
  134. package/dist/events/in-memory-adapter.js +50 -0
  135. package/dist/events/in-memory-adapter.js.map +1 -0
  136. package/dist/events/types.d.ts +154 -0
  137. package/dist/events/types.d.ts.map +1 -0
  138. package/dist/events/types.js +34 -0
  139. package/dist/events/types.js.map +1 -0
  140. package/dist/index.d.ts +50 -31
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +39 -16
  143. package/dist/index.js.map +1 -1
  144. package/dist/ingest/body.d.ts +18 -0
  145. package/dist/ingest/body.d.ts.map +1 -0
  146. package/dist/ingest/body.js +47 -0
  147. package/dist/ingest/body.js.map +1 -0
  148. package/dist/ingest/filter.d.ts +11 -0
  149. package/dist/ingest/filter.d.ts.map +1 -0
  150. package/dist/ingest/filter.js +23 -0
  151. package/dist/ingest/filter.js.map +1 -0
  152. package/dist/ingest/headers.d.ts +3 -0
  153. package/dist/ingest/headers.d.ts.map +1 -0
  154. package/dist/ingest/headers.js +11 -0
  155. package/dist/ingest/headers.js.map +1 -0
  156. package/dist/ingest/types.d.ts +50 -0
  157. package/dist/ingest/types.d.ts.map +1 -0
  158. package/dist/ingest/types.js +9 -0
  159. package/dist/ingest/types.js.map +1 -0
  160. package/dist/persistence/in-memory-adapter.d.ts +4 -8
  161. package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
  162. package/dist/persistence/in-memory-adapter.js +8 -25
  163. package/dist/persistence/in-memory-adapter.js.map +1 -1
  164. package/dist/persistence/types.d.ts +5 -19
  165. package/dist/persistence/types.d.ts.map +1 -1
  166. package/dist/router/types.d.ts +31 -3
  167. package/dist/router/types.d.ts.map +1 -1
  168. package/dist/router/workflow-router.d.ts +4 -3
  169. package/dist/router/workflow-router.d.ts.map +1 -1
  170. package/dist/router/workflow-router.js +258 -63
  171. package/dist/router/workflow-router.js.map +1 -1
  172. package/dist/runtime/types.d.ts +36 -56
  173. package/dist/runtime/types.d.ts.map +1 -1
  174. package/dist/runtime/workflow-runtime.d.ts +70 -46
  175. package/dist/runtime/workflow-runtime.d.ts.map +1 -1
  176. package/dist/runtime/workflow-runtime.js +217 -141
  177. package/dist/runtime/workflow-runtime.js.map +1 -1
  178. package/dist/steps/base-step.d.ts +23 -0
  179. package/dist/steps/base-step.d.ts.map +1 -1
  180. package/dist/steps/base-step.js +22 -0
  181. package/dist/steps/base-step.js.map +1 -1
  182. package/dist/steps/step-descriptor.d.ts +52 -0
  183. package/dist/steps/step-descriptor.d.ts.map +1 -0
  184. package/dist/steps/step-descriptor.js +32 -0
  185. package/dist/steps/step-descriptor.js.map +1 -0
  186. package/dist/testing/authz-conformance.d.ts.map +1 -1
  187. package/dist/testing/authz-conformance.js +6 -7
  188. package/dist/testing/authz-conformance.js.map +1 -1
  189. package/dist/testing/index.d.ts +1 -0
  190. package/dist/testing/index.d.ts.map +1 -1
  191. package/dist/testing/index.js +1 -0
  192. package/dist/testing/index.js.map +1 -1
  193. package/dist/testing/mock-step-context.d.ts +1 -0
  194. package/dist/testing/mock-step-context.d.ts.map +1 -1
  195. package/dist/testing/mock-step-context.js +1 -0
  196. package/dist/testing/mock-step-context.js.map +1 -1
  197. package/dist/testing/test-connector.d.ts +40 -0
  198. package/dist/testing/test-connector.d.ts.map +1 -0
  199. package/dist/testing/test-connector.js +39 -0
  200. package/dist/testing/test-connector.js.map +1 -0
  201. package/dist/triggers/api-trigger.d.ts +15 -0
  202. package/dist/triggers/api-trigger.d.ts.map +1 -0
  203. package/dist/triggers/api-trigger.js +14 -0
  204. package/dist/triggers/api-trigger.js.map +1 -0
  205. package/dist/triggers/base-trigger.d.ts +29 -0
  206. package/dist/triggers/base-trigger.d.ts.map +1 -1
  207. package/dist/triggers/base-trigger.js +16 -0
  208. package/dist/triggers/base-trigger.js.map +1 -1
  209. package/dist/triggers/trigger-descriptor.d.ts +42 -0
  210. package/dist/triggers/trigger-descriptor.d.ts.map +1 -0
  211. package/dist/triggers/trigger-descriptor.js +29 -0
  212. package/dist/triggers/trigger-descriptor.js.map +1 -0
  213. package/dist/triggers/webhook-trigger.d.ts +31 -38
  214. package/dist/triggers/webhook-trigger.d.ts.map +1 -1
  215. package/dist/triggers/webhook-trigger.js +19 -6
  216. package/dist/triggers/webhook-trigger.js.map +1 -1
  217. package/dist/types/known-types.d.ts +0 -1
  218. package/dist/types/known-types.d.ts.map +1 -1
  219. package/dist/types/known-types.js +0 -1
  220. package/dist/types/known-types.js.map +1 -1
  221. package/dist/types/validation.d.ts +3 -1
  222. package/dist/types/validation.d.ts.map +1 -1
  223. package/dist/types/validation.js +2 -0
  224. package/dist/types/validation.js.map +1 -1
  225. package/dist/types/workflow-config.d.ts +23 -0
  226. package/dist/types/workflow-config.d.ts.map +1 -1
  227. package/dist/types/workflow-config.js +8 -0
  228. package/dist/types/workflow-config.js.map +1 -1
  229. package/dist/util/credential-slot-schema.d.ts +20 -0
  230. package/dist/util/credential-slot-schema.d.ts.map +1 -0
  231. package/dist/util/credential-slot-schema.js +30 -0
  232. package/dist/util/credential-slot-schema.js.map +1 -0
  233. package/dist/util/event-channel.d.ts +25 -0
  234. package/dist/util/event-channel.d.ts.map +1 -0
  235. package/dist/util/event-channel.js +61 -0
  236. package/dist/util/event-channel.js.map +1 -0
  237. package/package.json +1 -1
  238. package/dist/common/expression-eval.d.ts +0 -35
  239. package/dist/common/expression-eval.d.ts.map +0 -1
  240. package/dist/common/expression-eval.js +0 -214
  241. package/dist/common/expression-eval.js.map +0 -1
  242. package/dist/common/principal.d.ts +0 -45
  243. package/dist/common/principal.d.ts.map +0 -1
  244. package/dist/common/principal.js +0 -9
  245. package/dist/common/principal.js.map +0 -1
  246. package/dist/steps/builtin/transform.step.d.ts +0 -247
  247. package/dist/steps/builtin/transform.step.d.ts.map +0 -1
  248. package/dist/steps/builtin/transform.step.js +0 -135
  249. package/dist/steps/builtin/transform.step.js.map +0 -1
  250. package/dist/types/attachment.d.ts +0 -23
  251. package/dist/types/attachment.d.ts.map +0 -1
  252. package/dist/types/attachment.js +0 -2
  253. package/dist/types/attachment.js.map +0 -1
  254. package/dist/types/resume-payload.d.ts +0 -34
  255. package/dist/types/resume-payload.d.ts.map +0 -1
  256. package/dist/types/resume-payload.js +0 -12
  257. package/dist/types/resume-payload.js.map +0 -1
  258. package/dist/util/executable-check.d.ts +0 -42
  259. package/dist/util/executable-check.d.ts.map +0 -1
  260. package/dist/util/executable-check.js +0 -115
  261. package/dist/util/executable-check.js.map +0 -1
@@ -0,0 +1,65 @@
1
+ /**
2
+ * DEDUP step — deduplication via ctx.staticData.
3
+ *
4
+ * Checks whether a key (derived from the current context) has been
5
+ * seen before. If it has, marks the output as `duplicate: true` so
6
+ * downstream steps/conditions can skip processing.
7
+ *
8
+ * Uses `ctx.staticData` for persistence — keys survive across executions.
9
+ * Optional TTL: stored timestamps are compared against current time.
10
+ */
11
+ import { z } from 'zod';
12
+ import { BaseActionStep } from '../../../steps/base-step.js';
13
+ import type { StepExecutionContext } from '../../../steps/base-step.js';
14
+ import { BuiltinStepType } from '../../../types/known-types.js';
15
+ import type { StepCategory } from '../../../types/categories.js';
16
+ export declare const DedupStepConfigSchema: z.ZodObject<{
17
+ keyPath: z.ZodString;
18
+ ttlMs: z.ZodOptional<z.ZodNumber>;
19
+ keyPrefix: z.ZodDefault<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ keyPath: string;
22
+ keyPrefix: string;
23
+ ttlMs?: number | undefined;
24
+ }, {
25
+ keyPath: string;
26
+ ttlMs?: number | undefined;
27
+ keyPrefix?: string | undefined;
28
+ }>;
29
+ export type DedupStepConfig = z.infer<typeof DedupStepConfigSchema>;
30
+ export interface DedupStepOutput extends Record<string, unknown> {
31
+ duplicate: boolean;
32
+ key: string;
33
+ }
34
+ export declare class DedupStep extends BaseActionStep<typeof DedupStepConfigSchema, DedupStepOutput> {
35
+ readonly type = BuiltinStepType.DEDUP;
36
+ readonly name = "Dedup";
37
+ readonly description = "Skip duplicate items using persistent key tracking";
38
+ readonly configSchema: z.ZodObject<{
39
+ keyPath: z.ZodString;
40
+ ttlMs: z.ZodOptional<z.ZodNumber>;
41
+ keyPrefix: z.ZodDefault<z.ZodString>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ keyPath: string;
44
+ keyPrefix: string;
45
+ ttlMs?: number | undefined;
46
+ }, {
47
+ keyPath: string;
48
+ ttlMs?: number | undefined;
49
+ keyPrefix?: string | undefined;
50
+ }>;
51
+ readonly outputSchema: z.ZodObject<{
52
+ duplicate: z.ZodBoolean;
53
+ key: z.ZodString;
54
+ }, "strip", z.ZodTypeAny, {
55
+ key: string;
56
+ duplicate: boolean;
57
+ }, {
58
+ key: string;
59
+ duplicate: boolean;
60
+ }>;
61
+ readonly category: StepCategory;
62
+ readonly icon = "copy-check";
63
+ execute(config: DedupStepConfig, ctx: StepExecutionContext): Promise<DedupStepOutput>;
64
+ }
65
+ //# sourceMappingURL=dedup.step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup.step.d.ts","sourceRoot":"","sources":["../../../../src/connectors/builtin/steps/dedup.step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AASD,qBAAa,SAAU,SAAQ,cAAc,CAC3C,OAAO,qBAAqB,EAC5B,eAAe,CAChB;IACC,SAAkB,IAAI,yBAAyB;IAC/C,SAAkB,IAAI,WAAW;IACjC,SAAkB,WAAW,wDAAwD;IACrF,SAAkB,YAAY;;;;;;;;;;;;OAAyB;IACvD,SAAkB,YAAY;;;;;;;;;OAAyB;IACvD,SAAkB,QAAQ,EAAE,YAAY,CAAU;IAClD,SAAkB,IAAI,gBAAgB;IAEvB,OAAO,CACpB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,eAAe,CAAC;CAmC5B"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * DEDUP step — deduplication via ctx.staticData.
3
+ *
4
+ * Checks whether a key (derived from the current context) has been
5
+ * seen before. If it has, marks the output as `duplicate: true` so
6
+ * downstream steps/conditions can skip processing.
7
+ *
8
+ * Uses `ctx.staticData` for persistence — keys survive across executions.
9
+ * Optional TTL: stored timestamps are compared against current time.
10
+ */
11
+ import { z } from 'zod';
12
+ import { BaseActionStep } from '../../../steps/base-step.js';
13
+ import { BuiltinStepType } from '../../../types/known-types.js';
14
+ import { resolvePath } from '../../../engine/variable-resolver.js';
15
+ // ─── Config ───
16
+ export const DedupStepConfigSchema = z.object({
17
+ keyPath: z.string().min(1).describe('Dotted path to the deduplication key in the workflow context'),
18
+ ttlMs: z.number().int().positive().optional().describe('Time-to-live in milliseconds. Keys older than this are treated as new'),
19
+ keyPrefix: z.string().default('dedup:').describe('Prefix for the storage key to avoid collisions'),
20
+ });
21
+ const DedupStepOutputSchema = z.object({
22
+ duplicate: z.boolean(),
23
+ key: z.string(),
24
+ });
25
+ // ─── Step ───
26
+ export class DedupStep extends BaseActionStep {
27
+ type = BuiltinStepType.DEDUP;
28
+ name = 'Dedup';
29
+ description = 'Skip duplicate items using persistent key tracking';
30
+ configSchema = DedupStepConfigSchema;
31
+ outputSchema = DedupStepOutputSchema;
32
+ category = 'data';
33
+ icon = 'copy-check';
34
+ async execute(config, ctx) {
35
+ // Resolve the dedup key from context
36
+ const rawKey = resolvePath(ctx.workflow, config.keyPath);
37
+ if (rawKey === undefined || rawKey === null) {
38
+ throw new Error(`DEDUP keyPath "${config.keyPath}" resolved to ${String(rawKey)}`);
39
+ }
40
+ const key = `${config.keyPrefix}${String(rawKey)}`;
41
+ // Check if key exists in staticData
42
+ const existing = (await ctx.staticData.get(key));
43
+ if (existing !== undefined) {
44
+ // Check TTL if configured
45
+ if (config.ttlMs !== undefined) {
46
+ const age = Date.now() - existing.seenAt;
47
+ if (age < config.ttlMs) {
48
+ return { duplicate: true, key };
49
+ }
50
+ // Expired — treat as new, fall through to record
51
+ }
52
+ else {
53
+ return { duplicate: true, key };
54
+ }
55
+ }
56
+ // Record the key
57
+ await ctx.staticData.set(key, { seenAt: Date.now() });
58
+ return { duplicate: false, key };
59
+ }
60
+ }
61
+ //# sourceMappingURL=dedup.step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup.step.js","sourceRoot":"","sources":["../../../../src/connectors/builtin/steps/dedup.step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,iBAAiB;AAEjB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC/H,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACnG,CAAC,CAAC;AAWH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,eAAe;AAEf,MAAM,OAAO,SAAU,SAAQ,cAG9B;IACmB,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC;IAC7B,IAAI,GAAG,OAAO,CAAC;IACf,WAAW,GAAG,oDAAoD,CAAC;IACnE,YAAY,GAAG,qBAAqB,CAAC;IACrC,YAAY,GAAG,qBAAqB,CAAC;IACrC,QAAQ,GAAiB,MAAM,CAAC;IAChC,IAAI,GAAG,YAAY,CAAC;IAE7B,KAAK,CAAC,OAAO,CACpB,MAAuB,EACvB,GAAyB;QAEzB,qCAAqC;QACrC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,kBAAkB,MAAM,CAAC,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAEnD,oCAAoC;QACpC,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAElC,CAAC;QAEd,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,0BAA0B;YAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACzC,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBAClC,CAAC;gBACD,iDAAiD;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;CACF"}