@blokjs/helper 0.2.0 → 0.4.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.
- package/dist/components/AddElse.d.ts +20 -0
- package/dist/components/AddIf.d.ts +20 -0
- package/dist/components/StepNode.d.ts +6 -0
- package/dist/components/StepNode.js +9 -0
- package/dist/components/StepNode.js.map +1 -1
- package/dist/components/Trigger.d.ts +10 -2
- package/dist/components/Trigger.js +16 -5
- package/dist/components/Trigger.js.map +1 -1
- package/dist/components/branch.d.ts +44 -0
- package/dist/components/branch.js +57 -0
- package/dist/components/branch.js.map +1 -0
- package/dist/components/workflowV2.d.ts +83 -0
- package/dist/components/workflowV2.js +84 -0
- package/dist/components/workflowV2.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/proxy/$.d.ts +95 -0
- package/dist/proxy/$.js +130 -0
- package/dist/proxy/$.js.map +1 -0
- package/dist/types/StepOpts.d.ts +456 -3
- package/dist/types/StepOpts.js +456 -3
- package/dist/types/StepOpts.js.map +1 -1
- package/dist/types/TriggerOpts.d.ts +1196 -19
- package/dist/types/TriggerOpts.js +395 -19
- package/dist/types/TriggerOpts.js.map +1 -1
- package/dist/types/WorkflowOpts.d.ts +312 -28
- package/dist/types/WorkflowOpts.js +55 -3
- package/dist/types/WorkflowOpts.js.map +1 -1
- package/dist/utils/parseDuration.d.ts +33 -0
- package/dist/utils/parseDuration.js +78 -0
- package/dist/utils/parseDuration.js.map +1 -0
- package/dist/workflow.schema.json +426 -0
- package/package.json +6 -6
|
@@ -1,41 +1,620 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Reusable Zod field bag for per-key concurrency gating.
|
|
4
|
+
*
|
|
5
|
+
* Spread into a trigger's `z.object({...})` and pair with the
|
|
6
|
+
* {@link concurrencyRefinement} cross-field check to add concurrency-key
|
|
7
|
+
* support to a trigger schema.
|
|
8
|
+
*
|
|
9
|
+
* Authors set `concurrencyKey` (literal or `$`-proxy expression) plus an
|
|
10
|
+
* optional `concurrencyLimit` (defaults to 1, matching Trigger.dev's
|
|
11
|
+
* "named mutex per key" pattern). When omitted, the trigger has no
|
|
12
|
+
* concurrency gate (zero-overhead default).
|
|
13
|
+
*/
|
|
14
|
+
export declare const ConcurrencyOptsFields: {
|
|
15
|
+
readonly concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
16
|
+
readonly concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
readonly concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
readonly onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
19
|
+
readonly concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
readonly concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
minBackoffMs?: number | undefined;
|
|
26
|
+
maxBackoffMs?: number | undefined;
|
|
27
|
+
factor?: number | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
minBackoffMs?: number | undefined;
|
|
30
|
+
maxBackoffMs?: number | undefined;
|
|
31
|
+
factor?: number | undefined;
|
|
32
|
+
}>>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Cross-field refinement: `concurrencyLimit` / `concurrencyLeaseMs` / `onLimit`
|
|
36
|
+
* set without `concurrencyKey` are meaningless and rejected at validation time.
|
|
37
|
+
*/
|
|
38
|
+
export declare const concurrencyRefinement: (val: {
|
|
39
|
+
concurrencyKey?: string;
|
|
40
|
+
concurrencyLimit?: number;
|
|
41
|
+
concurrencyLeaseMs?: number;
|
|
42
|
+
onLimit?: "throw" | "queue";
|
|
43
|
+
concurrencyQueueTimeoutMs?: number;
|
|
44
|
+
concurrencyQueueRetry?: {
|
|
45
|
+
minBackoffMs?: number;
|
|
46
|
+
maxBackoffMs?: number;
|
|
47
|
+
factor?: number;
|
|
48
|
+
};
|
|
49
|
+
}, ctx: z.RefinementCtx) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Standalone schema exposing just the concurrency fields. Useful for tests
|
|
52
|
+
* and tools that want to validate concurrency config in isolation. Real
|
|
53
|
+
* triggers spread {@link ConcurrencyOptsFields} into their own `z.object`
|
|
54
|
+
* and apply {@link concurrencyRefinement}.
|
|
55
|
+
*/
|
|
56
|
+
export declare const ConcurrencyOptsSchema: z.ZodEffects<z.ZodObject<{
|
|
57
|
+
readonly concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
58
|
+
readonly concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
readonly concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
readonly onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
61
|
+
readonly concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
readonly concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
65
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
minBackoffMs?: number | undefined;
|
|
68
|
+
maxBackoffMs?: number | undefined;
|
|
69
|
+
factor?: number | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
minBackoffMs?: number | undefined;
|
|
72
|
+
maxBackoffMs?: number | undefined;
|
|
73
|
+
factor?: number | undefined;
|
|
74
|
+
}>>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
concurrencyKey?: string | undefined;
|
|
77
|
+
concurrencyLimit?: number | undefined;
|
|
78
|
+
concurrencyLeaseMs?: number | undefined;
|
|
79
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
80
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
81
|
+
concurrencyQueueRetry?: {
|
|
82
|
+
minBackoffMs?: number | undefined;
|
|
83
|
+
maxBackoffMs?: number | undefined;
|
|
84
|
+
factor?: number | undefined;
|
|
85
|
+
} | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
concurrencyKey?: string | undefined;
|
|
88
|
+
concurrencyLimit?: number | undefined;
|
|
89
|
+
concurrencyLeaseMs?: number | undefined;
|
|
90
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
91
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
92
|
+
concurrencyQueueRetry?: {
|
|
93
|
+
minBackoffMs?: number | undefined;
|
|
94
|
+
maxBackoffMs?: number | undefined;
|
|
95
|
+
factor?: number | undefined;
|
|
96
|
+
} | undefined;
|
|
97
|
+
}>, {
|
|
98
|
+
concurrencyKey?: string | undefined;
|
|
99
|
+
concurrencyLimit?: number | undefined;
|
|
100
|
+
concurrencyLeaseMs?: number | undefined;
|
|
101
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
102
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
103
|
+
concurrencyQueueRetry?: {
|
|
104
|
+
minBackoffMs?: number | undefined;
|
|
105
|
+
maxBackoffMs?: number | undefined;
|
|
106
|
+
factor?: number | undefined;
|
|
107
|
+
} | undefined;
|
|
108
|
+
}, {
|
|
109
|
+
concurrencyKey?: string | undefined;
|
|
110
|
+
concurrencyLimit?: number | undefined;
|
|
111
|
+
concurrencyLeaseMs?: number | undefined;
|
|
112
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
113
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
114
|
+
concurrencyQueueRetry?: {
|
|
115
|
+
minBackoffMs?: number | undefined;
|
|
116
|
+
maxBackoffMs?: number | undefined;
|
|
117
|
+
factor?: number | undefined;
|
|
118
|
+
} | undefined;
|
|
119
|
+
}>;
|
|
120
|
+
/** Inferred shape of the concurrency-options field bag. */
|
|
121
|
+
export type ConcurrencyOpts = z.input<typeof ConcurrencyOptsSchema>;
|
|
122
|
+
/**
|
|
123
|
+
* Duration value: a non-negative integer (interpreted as milliseconds) or a
|
|
124
|
+
* single-unit string (`"500ms"`, `"30s"`, `"5m"`, `"2h"`, `"1d"`). Validated
|
|
125
|
+
* at trigger-config parse time; converted to milliseconds at run-entry time
|
|
126
|
+
* by `parseDuration` (`@blokjs/helper`).
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Duration value: a non-negative integer (ms) or a single-unit string
|
|
130
|
+
* (`"500ms"`, `"30s"`, `"5m"`, `"2h"`, `"1d"`). Reused by Tier 2 #5+#7
|
|
131
|
+
* scheduling fields and the Tier 2 quick-wins `maxDuration` step field.
|
|
132
|
+
*/
|
|
133
|
+
export declare const DurationSchema: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
134
|
+
/**
|
|
135
|
+
* Per-key debounce configuration. When set, repeated triggers sharing the
|
|
136
|
+
* resolved `key` collapse into one delayed run. Modes:
|
|
137
|
+
*
|
|
138
|
+
* - `"trailing"` (default): each ping resets a `delay` ms timer; the run
|
|
139
|
+
* fires after `delay` ms of silence. `maxDelay` (when set) bounds the
|
|
140
|
+
* tail latency — even with continuous pings, the run fires after
|
|
141
|
+
* `maxDelay` ms.
|
|
142
|
+
* - `"leading"`: the first ping in a window fires immediately; subsequent
|
|
143
|
+
* pings within `delay` ms are dropped with status `"debounced"`. Window
|
|
144
|
+
* resets when `delay` ms of silence pass.
|
|
145
|
+
*
|
|
146
|
+
* `key` is a literal string OR a `js/...` expression that evaluates to a
|
|
147
|
+
* string at run-entry time (typically derived from the request payload via
|
|
148
|
+
* a `$`-proxy expression like `$.req.body.userId`).
|
|
149
|
+
*/
|
|
150
|
+
export declare const DebounceOptsSchema: z.ZodEffects<z.ZodObject<{
|
|
151
|
+
key: z.ZodString;
|
|
152
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
153
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
154
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
key: string;
|
|
157
|
+
mode: "leading" | "trailing";
|
|
158
|
+
delay: string | number;
|
|
159
|
+
maxDelay?: string | number | undefined;
|
|
160
|
+
}, {
|
|
161
|
+
key: string;
|
|
162
|
+
delay: string | number;
|
|
163
|
+
mode?: "leading" | "trailing" | undefined;
|
|
164
|
+
maxDelay?: string | number | undefined;
|
|
165
|
+
}>, {
|
|
166
|
+
key: string;
|
|
167
|
+
mode: "leading" | "trailing";
|
|
168
|
+
delay: string | number;
|
|
169
|
+
maxDelay?: string | number | undefined;
|
|
170
|
+
}, {
|
|
171
|
+
key: string;
|
|
172
|
+
delay: string | number;
|
|
173
|
+
mode?: "leading" | "trailing" | undefined;
|
|
174
|
+
maxDelay?: string | number | undefined;
|
|
175
|
+
}>;
|
|
176
|
+
/** Inferred type of the {@link DebounceOptsSchema}. */
|
|
177
|
+
export type DebounceOpts = z.input<typeof DebounceOptsSchema>;
|
|
178
|
+
/**
|
|
179
|
+
* Reusable Zod field bag for run-scheduling primitives. Spread into a
|
|
180
|
+
* trigger's `z.object({...})` and pair with {@link schedulingRefinement}
|
|
181
|
+
* for cross-field validation.
|
|
182
|
+
*
|
|
183
|
+
* - `delay`: defer the run by N (number = ms, or string = `"1h"`).
|
|
184
|
+
* - `ttl`: expire if not started within N. Auto-cancels with status
|
|
185
|
+
* `"expired"`.
|
|
186
|
+
* - `debounce`: coalesce rapid same-key triggers into one delayed run.
|
|
187
|
+
*
|
|
188
|
+
* Zero-overhead default: when none of these fields are set, the trigger
|
|
189
|
+
* behaves exactly as before.
|
|
190
|
+
*/
|
|
191
|
+
export declare const SchedulingOptsFields: {
|
|
192
|
+
readonly delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
193
|
+
readonly ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
194
|
+
readonly debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
195
|
+
key: z.ZodString;
|
|
196
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
197
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
198
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
199
|
+
}, "strip", z.ZodTypeAny, {
|
|
200
|
+
key: string;
|
|
201
|
+
mode: "leading" | "trailing";
|
|
202
|
+
delay: string | number;
|
|
203
|
+
maxDelay?: string | number | undefined;
|
|
204
|
+
}, {
|
|
205
|
+
key: string;
|
|
206
|
+
delay: string | number;
|
|
207
|
+
mode?: "leading" | "trailing" | undefined;
|
|
208
|
+
maxDelay?: string | number | undefined;
|
|
209
|
+
}>, {
|
|
210
|
+
key: string;
|
|
211
|
+
mode: "leading" | "trailing";
|
|
212
|
+
delay: string | number;
|
|
213
|
+
maxDelay?: string | number | undefined;
|
|
214
|
+
}, {
|
|
215
|
+
key: string;
|
|
216
|
+
delay: string | number;
|
|
217
|
+
mode?: "leading" | "trailing" | undefined;
|
|
218
|
+
maxDelay?: string | number | undefined;
|
|
219
|
+
}>>;
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Cross-field refinement for scheduling fields. Per-trigger callers pass
|
|
223
|
+
* the trigger kind so HTTP and Worker can have different rules for
|
|
224
|
+
* `ttl`-without-`delay`.
|
|
225
|
+
*/
|
|
226
|
+
export declare function makeSchedulingRefinement(triggerKind: "http" | "worker"): (val: {
|
|
227
|
+
delay?: number | string;
|
|
228
|
+
ttl?: number | string;
|
|
229
|
+
debounce?: DebounceOpts;
|
|
230
|
+
}, ctx: z.RefinementCtx) => void;
|
|
231
|
+
/**
|
|
232
|
+
* Standalone schema exposing just the scheduling fields. Useful for tests
|
|
233
|
+
* and tools. Real triggers spread {@link SchedulingOptsFields} into their
|
|
234
|
+
* own `z.object` and apply {@link makeSchedulingRefinement}.
|
|
235
|
+
*/
|
|
236
|
+
export declare const SchedulingOptsSchema: z.ZodObject<{
|
|
237
|
+
readonly delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
238
|
+
readonly ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
239
|
+
readonly debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
240
|
+
key: z.ZodString;
|
|
241
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
242
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
243
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
244
|
+
}, "strip", z.ZodTypeAny, {
|
|
245
|
+
key: string;
|
|
246
|
+
mode: "leading" | "trailing";
|
|
247
|
+
delay: string | number;
|
|
248
|
+
maxDelay?: string | number | undefined;
|
|
249
|
+
}, {
|
|
250
|
+
key: string;
|
|
251
|
+
delay: string | number;
|
|
252
|
+
mode?: "leading" | "trailing" | undefined;
|
|
253
|
+
maxDelay?: string | number | undefined;
|
|
254
|
+
}>, {
|
|
255
|
+
key: string;
|
|
256
|
+
mode: "leading" | "trailing";
|
|
257
|
+
delay: string | number;
|
|
258
|
+
maxDelay?: string | number | undefined;
|
|
259
|
+
}, {
|
|
260
|
+
key: string;
|
|
261
|
+
delay: string | number;
|
|
262
|
+
mode?: "leading" | "trailing" | undefined;
|
|
263
|
+
maxDelay?: string | number | undefined;
|
|
264
|
+
}>>;
|
|
265
|
+
}, "strip", z.ZodTypeAny, {
|
|
266
|
+
delay?: string | number | undefined;
|
|
267
|
+
ttl?: string | number | undefined;
|
|
268
|
+
debounce?: {
|
|
269
|
+
key: string;
|
|
270
|
+
mode: "leading" | "trailing";
|
|
271
|
+
delay: string | number;
|
|
272
|
+
maxDelay?: string | number | undefined;
|
|
273
|
+
} | undefined;
|
|
274
|
+
}, {
|
|
275
|
+
delay?: string | number | undefined;
|
|
276
|
+
ttl?: string | number | undefined;
|
|
277
|
+
debounce?: {
|
|
278
|
+
key: string;
|
|
279
|
+
delay: string | number;
|
|
280
|
+
mode?: "leading" | "trailing" | undefined;
|
|
281
|
+
maxDelay?: string | number | undefined;
|
|
282
|
+
} | undefined;
|
|
283
|
+
}>;
|
|
284
|
+
/** Inferred shape of the scheduling-options field bag. */
|
|
285
|
+
export type SchedulingOpts = z.input<typeof SchedulingOptsSchema>;
|
|
286
|
+
/**
|
|
287
|
+
* Canonical HTTP method names.
|
|
288
|
+
*
|
|
289
|
+
* `"ANY"` is the wildcard. Legacy `"*"` (used by old JSON workflows) is
|
|
290
|
+
* accepted via {@link HttpMethodSchema} preprocessing and normalized to
|
|
291
|
+
* `"ANY"` with a one-time deprecation warning.
|
|
292
|
+
*/
|
|
293
|
+
export declare const HTTP_METHODS: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "ANY"];
|
|
294
|
+
/**
|
|
295
|
+
* HTTP method schema — accepts the canonical names plus the legacy `"*"`
|
|
296
|
+
* (which is preprocessed to `"ANY"` with a one-time warning).
|
|
297
|
+
*/
|
|
298
|
+
export declare const HttpMethodSchema: z.ZodEffects<z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "ANY"]>, "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY", unknown>;
|
|
299
|
+
export type HttpMethod = z.infer<typeof HttpMethodSchema>;
|
|
300
|
+
/** Validation schema for the HTTP trigger configuration. */
|
|
301
|
+
export declare const HttpTriggerOptsSchema: z.ZodEffects<z.ZodObject<{
|
|
302
|
+
delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
303
|
+
ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
304
|
+
debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
305
|
+
key: z.ZodString;
|
|
306
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
307
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
308
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
309
|
+
}, "strip", z.ZodTypeAny, {
|
|
310
|
+
key: string;
|
|
311
|
+
mode: "leading" | "trailing";
|
|
312
|
+
delay: string | number;
|
|
313
|
+
maxDelay?: string | number | undefined;
|
|
314
|
+
}, {
|
|
315
|
+
key: string;
|
|
316
|
+
delay: string | number;
|
|
317
|
+
mode?: "leading" | "trailing" | undefined;
|
|
318
|
+
maxDelay?: string | number | undefined;
|
|
319
|
+
}>, {
|
|
320
|
+
key: string;
|
|
321
|
+
mode: "leading" | "trailing";
|
|
322
|
+
delay: string | number;
|
|
323
|
+
maxDelay?: string | number | undefined;
|
|
324
|
+
}, {
|
|
325
|
+
key: string;
|
|
326
|
+
delay: string | number;
|
|
327
|
+
mode?: "leading" | "trailing" | undefined;
|
|
328
|
+
maxDelay?: string | number | undefined;
|
|
329
|
+
}>>;
|
|
330
|
+
concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
331
|
+
concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
332
|
+
concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
333
|
+
onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
334
|
+
concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
335
|
+
concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
336
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
337
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
338
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
339
|
+
}, "strip", z.ZodTypeAny, {
|
|
340
|
+
minBackoffMs?: number | undefined;
|
|
341
|
+
maxBackoffMs?: number | undefined;
|
|
342
|
+
factor?: number | undefined;
|
|
343
|
+
}, {
|
|
344
|
+
minBackoffMs?: number | undefined;
|
|
345
|
+
maxBackoffMs?: number | undefined;
|
|
346
|
+
factor?: number | undefined;
|
|
347
|
+
}>>;
|
|
348
|
+
method: z.ZodEffects<z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "ANY"]>, "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY", unknown>;
|
|
4
349
|
path: z.ZodOptional<z.ZodString>;
|
|
5
350
|
accept: z.ZodDefault<z.ZodString>;
|
|
6
351
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
352
|
+
legacyKeyPrefix: z.ZodOptional<z.ZodBoolean>;
|
|
7
353
|
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "ANY";
|
|
354
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
355
|
+
accept: string;
|
|
356
|
+
path?: string | undefined;
|
|
357
|
+
concurrencyKey?: string | undefined;
|
|
358
|
+
concurrencyLimit?: number | undefined;
|
|
359
|
+
concurrencyLeaseMs?: number | undefined;
|
|
360
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
361
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
362
|
+
concurrencyQueueRetry?: {
|
|
363
|
+
minBackoffMs?: number | undefined;
|
|
364
|
+
maxBackoffMs?: number | undefined;
|
|
365
|
+
factor?: number | undefined;
|
|
366
|
+
} | undefined;
|
|
367
|
+
delay?: string | number | undefined;
|
|
368
|
+
ttl?: string | number | undefined;
|
|
369
|
+
debounce?: {
|
|
370
|
+
key: string;
|
|
371
|
+
mode: "leading" | "trailing";
|
|
372
|
+
delay: string | number;
|
|
373
|
+
maxDelay?: string | number | undefined;
|
|
374
|
+
} | undefined;
|
|
375
|
+
headers?: Record<string, any> | undefined;
|
|
376
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
377
|
+
}, {
|
|
378
|
+
path?: string | undefined;
|
|
379
|
+
concurrencyKey?: string | undefined;
|
|
380
|
+
concurrencyLimit?: number | undefined;
|
|
381
|
+
concurrencyLeaseMs?: number | undefined;
|
|
382
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
383
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
384
|
+
concurrencyQueueRetry?: {
|
|
385
|
+
minBackoffMs?: number | undefined;
|
|
386
|
+
maxBackoffMs?: number | undefined;
|
|
387
|
+
factor?: number | undefined;
|
|
388
|
+
} | undefined;
|
|
389
|
+
delay?: string | number | undefined;
|
|
390
|
+
ttl?: string | number | undefined;
|
|
391
|
+
debounce?: {
|
|
392
|
+
key: string;
|
|
393
|
+
delay: string | number;
|
|
394
|
+
mode?: "leading" | "trailing" | undefined;
|
|
395
|
+
maxDelay?: string | number | undefined;
|
|
396
|
+
} | undefined;
|
|
397
|
+
method?: unknown;
|
|
398
|
+
accept?: string | undefined;
|
|
399
|
+
headers?: Record<string, any> | undefined;
|
|
400
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
401
|
+
}>, {
|
|
402
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
9
403
|
accept: string;
|
|
10
404
|
path?: string | undefined;
|
|
405
|
+
concurrencyKey?: string | undefined;
|
|
406
|
+
concurrencyLimit?: number | undefined;
|
|
407
|
+
concurrencyLeaseMs?: number | undefined;
|
|
408
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
409
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
410
|
+
concurrencyQueueRetry?: {
|
|
411
|
+
minBackoffMs?: number | undefined;
|
|
412
|
+
maxBackoffMs?: number | undefined;
|
|
413
|
+
factor?: number | undefined;
|
|
414
|
+
} | undefined;
|
|
415
|
+
delay?: string | number | undefined;
|
|
416
|
+
ttl?: string | number | undefined;
|
|
417
|
+
debounce?: {
|
|
418
|
+
key: string;
|
|
419
|
+
mode: "leading" | "trailing";
|
|
420
|
+
delay: string | number;
|
|
421
|
+
maxDelay?: string | number | undefined;
|
|
422
|
+
} | undefined;
|
|
11
423
|
headers?: Record<string, any> | undefined;
|
|
424
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
12
425
|
}, {
|
|
13
|
-
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "ANY";
|
|
14
426
|
path?: string | undefined;
|
|
427
|
+
concurrencyKey?: string | undefined;
|
|
428
|
+
concurrencyLimit?: number | undefined;
|
|
429
|
+
concurrencyLeaseMs?: number | undefined;
|
|
430
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
431
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
432
|
+
concurrencyQueueRetry?: {
|
|
433
|
+
minBackoffMs?: number | undefined;
|
|
434
|
+
maxBackoffMs?: number | undefined;
|
|
435
|
+
factor?: number | undefined;
|
|
436
|
+
} | undefined;
|
|
437
|
+
delay?: string | number | undefined;
|
|
438
|
+
ttl?: string | number | undefined;
|
|
439
|
+
debounce?: {
|
|
440
|
+
key: string;
|
|
441
|
+
delay: string | number;
|
|
442
|
+
mode?: "leading" | "trailing" | undefined;
|
|
443
|
+
maxDelay?: string | number | undefined;
|
|
444
|
+
} | undefined;
|
|
445
|
+
method?: unknown;
|
|
15
446
|
accept?: string | undefined;
|
|
16
447
|
headers?: Record<string, any> | undefined;
|
|
448
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
17
449
|
}>;
|
|
18
|
-
|
|
19
|
-
|
|
450
|
+
/** Configuration for an HTTP trigger. Use with `addTrigger("http", ...)`. */
|
|
451
|
+
export type HttpTriggerOpts = z.input<typeof HttpTriggerOptsSchema>;
|
|
452
|
+
/**
|
|
453
|
+
* Legacy alias for {@link HttpTriggerOptsSchema}. Prefer the explicit name.
|
|
454
|
+
*
|
|
455
|
+
* @deprecated Use {@link HttpTriggerOptsSchema} directly. Will be removed in
|
|
456
|
+
* the next minor version.
|
|
457
|
+
*/
|
|
458
|
+
export declare const TriggerOptsSchema: z.ZodEffects<z.ZodObject<{
|
|
459
|
+
delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
460
|
+
ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
461
|
+
debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
462
|
+
key: z.ZodString;
|
|
463
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
464
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
465
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
466
|
+
}, "strip", z.ZodTypeAny, {
|
|
467
|
+
key: string;
|
|
468
|
+
mode: "leading" | "trailing";
|
|
469
|
+
delay: string | number;
|
|
470
|
+
maxDelay?: string | number | undefined;
|
|
471
|
+
}, {
|
|
472
|
+
key: string;
|
|
473
|
+
delay: string | number;
|
|
474
|
+
mode?: "leading" | "trailing" | undefined;
|
|
475
|
+
maxDelay?: string | number | undefined;
|
|
476
|
+
}>, {
|
|
477
|
+
key: string;
|
|
478
|
+
mode: "leading" | "trailing";
|
|
479
|
+
delay: string | number;
|
|
480
|
+
maxDelay?: string | number | undefined;
|
|
481
|
+
}, {
|
|
482
|
+
key: string;
|
|
483
|
+
delay: string | number;
|
|
484
|
+
mode?: "leading" | "trailing" | undefined;
|
|
485
|
+
maxDelay?: string | number | undefined;
|
|
486
|
+
}>>;
|
|
487
|
+
concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
488
|
+
concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
489
|
+
concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
490
|
+
onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
491
|
+
concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
492
|
+
concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
493
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
494
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
495
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
496
|
+
}, "strip", z.ZodTypeAny, {
|
|
497
|
+
minBackoffMs?: number | undefined;
|
|
498
|
+
maxBackoffMs?: number | undefined;
|
|
499
|
+
factor?: number | undefined;
|
|
500
|
+
}, {
|
|
501
|
+
minBackoffMs?: number | undefined;
|
|
502
|
+
maxBackoffMs?: number | undefined;
|
|
503
|
+
factor?: number | undefined;
|
|
504
|
+
}>>;
|
|
505
|
+
method: z.ZodEffects<z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "ANY"]>, "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY", unknown>;
|
|
20
506
|
path: z.ZodOptional<z.ZodString>;
|
|
21
507
|
accept: z.ZodDefault<z.ZodString>;
|
|
22
508
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
509
|
+
legacyKeyPrefix: z.ZodOptional<z.ZodBoolean>;
|
|
23
510
|
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "ANY";
|
|
511
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
25
512
|
accept: string;
|
|
26
513
|
path?: string | undefined;
|
|
514
|
+
concurrencyKey?: string | undefined;
|
|
515
|
+
concurrencyLimit?: number | undefined;
|
|
516
|
+
concurrencyLeaseMs?: number | undefined;
|
|
517
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
518
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
519
|
+
concurrencyQueueRetry?: {
|
|
520
|
+
minBackoffMs?: number | undefined;
|
|
521
|
+
maxBackoffMs?: number | undefined;
|
|
522
|
+
factor?: number | undefined;
|
|
523
|
+
} | undefined;
|
|
524
|
+
delay?: string | number | undefined;
|
|
525
|
+
ttl?: string | number | undefined;
|
|
526
|
+
debounce?: {
|
|
527
|
+
key: string;
|
|
528
|
+
mode: "leading" | "trailing";
|
|
529
|
+
delay: string | number;
|
|
530
|
+
maxDelay?: string | number | undefined;
|
|
531
|
+
} | undefined;
|
|
27
532
|
headers?: Record<string, any> | undefined;
|
|
533
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
28
534
|
}, {
|
|
29
|
-
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "ANY";
|
|
30
535
|
path?: string | undefined;
|
|
536
|
+
concurrencyKey?: string | undefined;
|
|
537
|
+
concurrencyLimit?: number | undefined;
|
|
538
|
+
concurrencyLeaseMs?: number | undefined;
|
|
539
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
540
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
541
|
+
concurrencyQueueRetry?: {
|
|
542
|
+
minBackoffMs?: number | undefined;
|
|
543
|
+
maxBackoffMs?: number | undefined;
|
|
544
|
+
factor?: number | undefined;
|
|
545
|
+
} | undefined;
|
|
546
|
+
delay?: string | number | undefined;
|
|
547
|
+
ttl?: string | number | undefined;
|
|
548
|
+
debounce?: {
|
|
549
|
+
key: string;
|
|
550
|
+
delay: string | number;
|
|
551
|
+
mode?: "leading" | "trailing" | undefined;
|
|
552
|
+
maxDelay?: string | number | undefined;
|
|
553
|
+
} | undefined;
|
|
554
|
+
method?: unknown;
|
|
31
555
|
accept?: string | undefined;
|
|
32
556
|
headers?: Record<string, any> | undefined;
|
|
557
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
558
|
+
}>, {
|
|
559
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
560
|
+
accept: string;
|
|
561
|
+
path?: string | undefined;
|
|
562
|
+
concurrencyKey?: string | undefined;
|
|
563
|
+
concurrencyLimit?: number | undefined;
|
|
564
|
+
concurrencyLeaseMs?: number | undefined;
|
|
565
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
566
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
567
|
+
concurrencyQueueRetry?: {
|
|
568
|
+
minBackoffMs?: number | undefined;
|
|
569
|
+
maxBackoffMs?: number | undefined;
|
|
570
|
+
factor?: number | undefined;
|
|
571
|
+
} | undefined;
|
|
572
|
+
delay?: string | number | undefined;
|
|
573
|
+
ttl?: string | number | undefined;
|
|
574
|
+
debounce?: {
|
|
575
|
+
key: string;
|
|
576
|
+
mode: "leading" | "trailing";
|
|
577
|
+
delay: string | number;
|
|
578
|
+
maxDelay?: string | number | undefined;
|
|
579
|
+
} | undefined;
|
|
580
|
+
headers?: Record<string, any> | undefined;
|
|
581
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
582
|
+
}, {
|
|
583
|
+
path?: string | undefined;
|
|
584
|
+
concurrencyKey?: string | undefined;
|
|
585
|
+
concurrencyLimit?: number | undefined;
|
|
586
|
+
concurrencyLeaseMs?: number | undefined;
|
|
587
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
588
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
589
|
+
concurrencyQueueRetry?: {
|
|
590
|
+
minBackoffMs?: number | undefined;
|
|
591
|
+
maxBackoffMs?: number | undefined;
|
|
592
|
+
factor?: number | undefined;
|
|
593
|
+
} | undefined;
|
|
594
|
+
delay?: string | number | undefined;
|
|
595
|
+
ttl?: string | number | undefined;
|
|
596
|
+
debounce?: {
|
|
597
|
+
key: string;
|
|
598
|
+
delay: string | number;
|
|
599
|
+
mode?: "leading" | "trailing" | undefined;
|
|
600
|
+
maxDelay?: string | number | undefined;
|
|
601
|
+
} | undefined;
|
|
602
|
+
method?: unknown;
|
|
603
|
+
accept?: string | undefined;
|
|
604
|
+
headers?: Record<string, any> | undefined;
|
|
605
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
33
606
|
}>;
|
|
34
|
-
|
|
35
|
-
|
|
607
|
+
/**
|
|
608
|
+
* Legacy alias for {@link HttpTriggerOpts}. Prefer the explicit name.
|
|
609
|
+
*
|
|
610
|
+
* @deprecated Use {@link HttpTriggerOpts} directly. Will be removed in the
|
|
611
|
+
* next minor version.
|
|
612
|
+
*/
|
|
613
|
+
export type TriggerOpts = HttpTriggerOpts;
|
|
614
|
+
export declare const QueueProviderSchema: z.ZodEnum<["kafka", "rabbitmq", "sqs", "redis", "beanstalk", "nats"]>;
|
|
36
615
|
export type QueueProvider = z.infer<typeof QueueProviderSchema>;
|
|
37
616
|
export declare const QueueTriggerOptsSchema: z.ZodObject<{
|
|
38
|
-
provider: z.ZodEnum<["kafka", "rabbitmq", "sqs", "redis", "beanstalk"]>;
|
|
617
|
+
provider: z.ZodEnum<["kafka", "rabbitmq", "sqs", "redis", "beanstalk", "nats"]>;
|
|
39
618
|
topic: z.ZodString;
|
|
40
619
|
subscription: z.ZodOptional<z.ZodString>;
|
|
41
620
|
consumerGroup: z.ZodOptional<z.ZodString>;
|
|
@@ -46,7 +625,7 @@ export declare const QueueTriggerOptsSchema: z.ZodObject<{
|
|
|
46
625
|
batchSize: z.ZodDefault<z.ZodNumber>;
|
|
47
626
|
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
48
627
|
}, "strip", z.ZodTypeAny, {
|
|
49
|
-
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk";
|
|
628
|
+
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk" | "nats";
|
|
50
629
|
topic: string;
|
|
51
630
|
ack: boolean;
|
|
52
631
|
maxRetries: number;
|
|
@@ -57,7 +636,7 @@ export declare const QueueTriggerOptsSchema: z.ZodObject<{
|
|
|
57
636
|
consumerGroup?: string | undefined;
|
|
58
637
|
deadLetterQueue?: string | undefined;
|
|
59
638
|
}, {
|
|
60
|
-
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk";
|
|
639
|
+
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk" | "nats";
|
|
61
640
|
topic: string;
|
|
62
641
|
subscription?: string | undefined;
|
|
63
642
|
consumerGroup?: string | undefined;
|
|
@@ -100,27 +679,154 @@ export declare const PubSubTriggerOptsSchema: z.ZodObject<{
|
|
|
100
679
|
deadLetterTopic?: string | undefined;
|
|
101
680
|
}>;
|
|
102
681
|
export type PubSubTriggerOpts = z.input<typeof PubSubTriggerOptsSchema>;
|
|
103
|
-
export declare const WorkerTriggerOptsSchema: z.ZodObject<{
|
|
682
|
+
export declare const WorkerTriggerOptsSchema: z.ZodEffects<z.ZodObject<{
|
|
683
|
+
delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
684
|
+
ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
685
|
+
debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
686
|
+
key: z.ZodString;
|
|
687
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
688
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
689
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
690
|
+
}, "strip", z.ZodTypeAny, {
|
|
691
|
+
key: string;
|
|
692
|
+
mode: "leading" | "trailing";
|
|
693
|
+
delay: string | number;
|
|
694
|
+
maxDelay?: string | number | undefined;
|
|
695
|
+
}, {
|
|
696
|
+
key: string;
|
|
697
|
+
delay: string | number;
|
|
698
|
+
mode?: "leading" | "trailing" | undefined;
|
|
699
|
+
maxDelay?: string | number | undefined;
|
|
700
|
+
}>, {
|
|
701
|
+
key: string;
|
|
702
|
+
mode: "leading" | "trailing";
|
|
703
|
+
delay: string | number;
|
|
704
|
+
maxDelay?: string | number | undefined;
|
|
705
|
+
}, {
|
|
706
|
+
key: string;
|
|
707
|
+
delay: string | number;
|
|
708
|
+
mode?: "leading" | "trailing" | undefined;
|
|
709
|
+
maxDelay?: string | number | undefined;
|
|
710
|
+
}>>;
|
|
711
|
+
concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
712
|
+
concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
713
|
+
concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
714
|
+
onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
715
|
+
concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
716
|
+
concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
717
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
718
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
719
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
720
|
+
}, "strip", z.ZodTypeAny, {
|
|
721
|
+
minBackoffMs?: number | undefined;
|
|
722
|
+
maxBackoffMs?: number | undefined;
|
|
723
|
+
factor?: number | undefined;
|
|
724
|
+
}, {
|
|
725
|
+
minBackoffMs?: number | undefined;
|
|
726
|
+
maxBackoffMs?: number | undefined;
|
|
727
|
+
factor?: number | undefined;
|
|
728
|
+
}>>;
|
|
104
729
|
queue: z.ZodString;
|
|
105
730
|
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
106
731
|
timeout: z.ZodOptional<z.ZodNumber>;
|
|
107
732
|
retries: z.ZodDefault<z.ZodNumber>;
|
|
108
733
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
109
|
-
delay: z.ZodOptional<z.ZodNumber>;
|
|
110
734
|
}, "strip", z.ZodTypeAny, {
|
|
735
|
+
queue: string;
|
|
111
736
|
concurrency: number;
|
|
737
|
+
retries: number;
|
|
738
|
+
priority: number;
|
|
739
|
+
concurrencyKey?: string | undefined;
|
|
740
|
+
concurrencyLimit?: number | undefined;
|
|
741
|
+
concurrencyLeaseMs?: number | undefined;
|
|
742
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
743
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
744
|
+
concurrencyQueueRetry?: {
|
|
745
|
+
minBackoffMs?: number | undefined;
|
|
746
|
+
maxBackoffMs?: number | undefined;
|
|
747
|
+
factor?: number | undefined;
|
|
748
|
+
} | undefined;
|
|
749
|
+
delay?: string | number | undefined;
|
|
750
|
+
ttl?: string | number | undefined;
|
|
751
|
+
debounce?: {
|
|
752
|
+
key: string;
|
|
753
|
+
mode: "leading" | "trailing";
|
|
754
|
+
delay: string | number;
|
|
755
|
+
maxDelay?: string | number | undefined;
|
|
756
|
+
} | undefined;
|
|
757
|
+
timeout?: number | undefined;
|
|
758
|
+
}, {
|
|
112
759
|
queue: string;
|
|
760
|
+
concurrencyKey?: string | undefined;
|
|
761
|
+
concurrencyLimit?: number | undefined;
|
|
762
|
+
concurrencyLeaseMs?: number | undefined;
|
|
763
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
764
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
765
|
+
concurrencyQueueRetry?: {
|
|
766
|
+
minBackoffMs?: number | undefined;
|
|
767
|
+
maxBackoffMs?: number | undefined;
|
|
768
|
+
factor?: number | undefined;
|
|
769
|
+
} | undefined;
|
|
770
|
+
delay?: string | number | undefined;
|
|
771
|
+
ttl?: string | number | undefined;
|
|
772
|
+
debounce?: {
|
|
773
|
+
key: string;
|
|
774
|
+
delay: string | number;
|
|
775
|
+
mode?: "leading" | "trailing" | undefined;
|
|
776
|
+
maxDelay?: string | number | undefined;
|
|
777
|
+
} | undefined;
|
|
778
|
+
concurrency?: number | undefined;
|
|
779
|
+
timeout?: number | undefined;
|
|
780
|
+
retries?: number | undefined;
|
|
781
|
+
priority?: number | undefined;
|
|
782
|
+
}>, {
|
|
783
|
+
queue: string;
|
|
784
|
+
concurrency: number;
|
|
113
785
|
retries: number;
|
|
114
786
|
priority: number;
|
|
787
|
+
concurrencyKey?: string | undefined;
|
|
788
|
+
concurrencyLimit?: number | undefined;
|
|
789
|
+
concurrencyLeaseMs?: number | undefined;
|
|
790
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
791
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
792
|
+
concurrencyQueueRetry?: {
|
|
793
|
+
minBackoffMs?: number | undefined;
|
|
794
|
+
maxBackoffMs?: number | undefined;
|
|
795
|
+
factor?: number | undefined;
|
|
796
|
+
} | undefined;
|
|
797
|
+
delay?: string | number | undefined;
|
|
798
|
+
ttl?: string | number | undefined;
|
|
799
|
+
debounce?: {
|
|
800
|
+
key: string;
|
|
801
|
+
mode: "leading" | "trailing";
|
|
802
|
+
delay: string | number;
|
|
803
|
+
maxDelay?: string | number | undefined;
|
|
804
|
+
} | undefined;
|
|
115
805
|
timeout?: number | undefined;
|
|
116
|
-
delay?: number | undefined;
|
|
117
806
|
}, {
|
|
118
807
|
queue: string;
|
|
808
|
+
concurrencyKey?: string | undefined;
|
|
809
|
+
concurrencyLimit?: number | undefined;
|
|
810
|
+
concurrencyLeaseMs?: number | undefined;
|
|
811
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
812
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
813
|
+
concurrencyQueueRetry?: {
|
|
814
|
+
minBackoffMs?: number | undefined;
|
|
815
|
+
maxBackoffMs?: number | undefined;
|
|
816
|
+
factor?: number | undefined;
|
|
817
|
+
} | undefined;
|
|
818
|
+
delay?: string | number | undefined;
|
|
819
|
+
ttl?: string | number | undefined;
|
|
820
|
+
debounce?: {
|
|
821
|
+
key: string;
|
|
822
|
+
delay: string | number;
|
|
823
|
+
mode?: "leading" | "trailing" | undefined;
|
|
824
|
+
maxDelay?: string | number | undefined;
|
|
825
|
+
} | undefined;
|
|
119
826
|
concurrency?: number | undefined;
|
|
120
827
|
timeout?: number | undefined;
|
|
121
828
|
retries?: number | undefined;
|
|
122
829
|
priority?: number | undefined;
|
|
123
|
-
delay?: number | undefined;
|
|
124
830
|
}>;
|
|
125
831
|
export type WorkerTriggerOpts = z.input<typeof WorkerTriggerOptsSchema>;
|
|
126
832
|
export declare const CronTriggerOptsSchema: z.ZodObject<{
|
|
@@ -200,10 +906,17 @@ export declare const SSETriggerOptsSchema: z.ZodObject<{
|
|
|
200
906
|
retryInterval?: number | undefined;
|
|
201
907
|
}>;
|
|
202
908
|
export type SSETriggerOpts = z.input<typeof SSETriggerOptsSchema>;
|
|
909
|
+
/** All trigger names supported by Blok. */
|
|
203
910
|
export declare const TriggersSchema: z.ZodEnum<["http", "grpc", "manual", "cron", "queue", "pubsub", "worker", "webhook", "sse", "websocket"]>;
|
|
204
911
|
export type TriggersEnum = z.infer<typeof TriggersSchema>;
|
|
912
|
+
/**
|
|
913
|
+
* Map of trigger name → its config type.
|
|
914
|
+
*
|
|
915
|
+
* Used by {@link Trigger.addTrigger} overloads to constrain the `config`
|
|
916
|
+
* argument's shape for each trigger kind.
|
|
917
|
+
*/
|
|
205
918
|
export type TriggerConfigMap = {
|
|
206
|
-
http:
|
|
919
|
+
http: HttpTriggerOpts;
|
|
207
920
|
grpc: Record<string, unknown>;
|
|
208
921
|
manual: Record<string, unknown>;
|
|
209
922
|
cron: CronTriggerOpts;
|
|
@@ -214,4 +927,468 @@ export type TriggerConfigMap = {
|
|
|
214
927
|
sse: SSETriggerOpts;
|
|
215
928
|
websocket: WebSocketTriggerOpts;
|
|
216
929
|
};
|
|
217
|
-
|
|
930
|
+
/**
|
|
931
|
+
* Map of trigger name → validation schema. `null` means the trigger does not
|
|
932
|
+
* have a required configuration shape (currently `grpc` and `manual`).
|
|
933
|
+
*
|
|
934
|
+
* Single source of truth for runtime trigger-config validation. Used by
|
|
935
|
+
* {@link validateTriggerConfig}.
|
|
936
|
+
*/
|
|
937
|
+
export declare const TRIGGER_SCHEMAS: {
|
|
938
|
+
readonly http: z.ZodEffects<z.ZodObject<{
|
|
939
|
+
delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
940
|
+
ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
941
|
+
debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
942
|
+
key: z.ZodString;
|
|
943
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
944
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
945
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
946
|
+
}, "strip", z.ZodTypeAny, {
|
|
947
|
+
key: string;
|
|
948
|
+
mode: "leading" | "trailing";
|
|
949
|
+
delay: string | number;
|
|
950
|
+
maxDelay?: string | number | undefined;
|
|
951
|
+
}, {
|
|
952
|
+
key: string;
|
|
953
|
+
delay: string | number;
|
|
954
|
+
mode?: "leading" | "trailing" | undefined;
|
|
955
|
+
maxDelay?: string | number | undefined;
|
|
956
|
+
}>, {
|
|
957
|
+
key: string;
|
|
958
|
+
mode: "leading" | "trailing";
|
|
959
|
+
delay: string | number;
|
|
960
|
+
maxDelay?: string | number | undefined;
|
|
961
|
+
}, {
|
|
962
|
+
key: string;
|
|
963
|
+
delay: string | number;
|
|
964
|
+
mode?: "leading" | "trailing" | undefined;
|
|
965
|
+
maxDelay?: string | number | undefined;
|
|
966
|
+
}>>;
|
|
967
|
+
concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
968
|
+
concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
969
|
+
concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
970
|
+
onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
971
|
+
concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
972
|
+
concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
973
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
974
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
975
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
976
|
+
}, "strip", z.ZodTypeAny, {
|
|
977
|
+
minBackoffMs?: number | undefined;
|
|
978
|
+
maxBackoffMs?: number | undefined;
|
|
979
|
+
factor?: number | undefined;
|
|
980
|
+
}, {
|
|
981
|
+
minBackoffMs?: number | undefined;
|
|
982
|
+
maxBackoffMs?: number | undefined;
|
|
983
|
+
factor?: number | undefined;
|
|
984
|
+
}>>;
|
|
985
|
+
method: z.ZodEffects<z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "ANY"]>, "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY", unknown>;
|
|
986
|
+
path: z.ZodOptional<z.ZodString>;
|
|
987
|
+
accept: z.ZodDefault<z.ZodString>;
|
|
988
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
989
|
+
legacyKeyPrefix: z.ZodOptional<z.ZodBoolean>;
|
|
990
|
+
}, "strip", z.ZodTypeAny, {
|
|
991
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
992
|
+
accept: string;
|
|
993
|
+
path?: string | undefined;
|
|
994
|
+
concurrencyKey?: string | undefined;
|
|
995
|
+
concurrencyLimit?: number | undefined;
|
|
996
|
+
concurrencyLeaseMs?: number | undefined;
|
|
997
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
998
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
999
|
+
concurrencyQueueRetry?: {
|
|
1000
|
+
minBackoffMs?: number | undefined;
|
|
1001
|
+
maxBackoffMs?: number | undefined;
|
|
1002
|
+
factor?: number | undefined;
|
|
1003
|
+
} | undefined;
|
|
1004
|
+
delay?: string | number | undefined;
|
|
1005
|
+
ttl?: string | number | undefined;
|
|
1006
|
+
debounce?: {
|
|
1007
|
+
key: string;
|
|
1008
|
+
mode: "leading" | "trailing";
|
|
1009
|
+
delay: string | number;
|
|
1010
|
+
maxDelay?: string | number | undefined;
|
|
1011
|
+
} | undefined;
|
|
1012
|
+
headers?: Record<string, any> | undefined;
|
|
1013
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
1014
|
+
}, {
|
|
1015
|
+
path?: string | undefined;
|
|
1016
|
+
concurrencyKey?: string | undefined;
|
|
1017
|
+
concurrencyLimit?: number | undefined;
|
|
1018
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1019
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1020
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1021
|
+
concurrencyQueueRetry?: {
|
|
1022
|
+
minBackoffMs?: number | undefined;
|
|
1023
|
+
maxBackoffMs?: number | undefined;
|
|
1024
|
+
factor?: number | undefined;
|
|
1025
|
+
} | undefined;
|
|
1026
|
+
delay?: string | number | undefined;
|
|
1027
|
+
ttl?: string | number | undefined;
|
|
1028
|
+
debounce?: {
|
|
1029
|
+
key: string;
|
|
1030
|
+
delay: string | number;
|
|
1031
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1032
|
+
maxDelay?: string | number | undefined;
|
|
1033
|
+
} | undefined;
|
|
1034
|
+
method?: unknown;
|
|
1035
|
+
accept?: string | undefined;
|
|
1036
|
+
headers?: Record<string, any> | undefined;
|
|
1037
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
1038
|
+
}>, {
|
|
1039
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "ANY";
|
|
1040
|
+
accept: string;
|
|
1041
|
+
path?: string | undefined;
|
|
1042
|
+
concurrencyKey?: string | undefined;
|
|
1043
|
+
concurrencyLimit?: number | undefined;
|
|
1044
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1045
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1046
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1047
|
+
concurrencyQueueRetry?: {
|
|
1048
|
+
minBackoffMs?: number | undefined;
|
|
1049
|
+
maxBackoffMs?: number | undefined;
|
|
1050
|
+
factor?: number | undefined;
|
|
1051
|
+
} | undefined;
|
|
1052
|
+
delay?: string | number | undefined;
|
|
1053
|
+
ttl?: string | number | undefined;
|
|
1054
|
+
debounce?: {
|
|
1055
|
+
key: string;
|
|
1056
|
+
mode: "leading" | "trailing";
|
|
1057
|
+
delay: string | number;
|
|
1058
|
+
maxDelay?: string | number | undefined;
|
|
1059
|
+
} | undefined;
|
|
1060
|
+
headers?: Record<string, any> | undefined;
|
|
1061
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
1062
|
+
}, {
|
|
1063
|
+
path?: string | undefined;
|
|
1064
|
+
concurrencyKey?: string | undefined;
|
|
1065
|
+
concurrencyLimit?: number | undefined;
|
|
1066
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1067
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1068
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1069
|
+
concurrencyQueueRetry?: {
|
|
1070
|
+
minBackoffMs?: number | undefined;
|
|
1071
|
+
maxBackoffMs?: number | undefined;
|
|
1072
|
+
factor?: number | undefined;
|
|
1073
|
+
} | undefined;
|
|
1074
|
+
delay?: string | number | undefined;
|
|
1075
|
+
ttl?: string | number | undefined;
|
|
1076
|
+
debounce?: {
|
|
1077
|
+
key: string;
|
|
1078
|
+
delay: string | number;
|
|
1079
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1080
|
+
maxDelay?: string | number | undefined;
|
|
1081
|
+
} | undefined;
|
|
1082
|
+
method?: unknown;
|
|
1083
|
+
accept?: string | undefined;
|
|
1084
|
+
headers?: Record<string, any> | undefined;
|
|
1085
|
+
legacyKeyPrefix?: boolean | undefined;
|
|
1086
|
+
}>;
|
|
1087
|
+
readonly queue: z.ZodObject<{
|
|
1088
|
+
provider: z.ZodEnum<["kafka", "rabbitmq", "sqs", "redis", "beanstalk", "nats"]>;
|
|
1089
|
+
topic: z.ZodString;
|
|
1090
|
+
subscription: z.ZodOptional<z.ZodString>;
|
|
1091
|
+
consumerGroup: z.ZodOptional<z.ZodString>;
|
|
1092
|
+
ack: z.ZodDefault<z.ZodBoolean>;
|
|
1093
|
+
deadLetterQueue: z.ZodOptional<z.ZodString>;
|
|
1094
|
+
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
1095
|
+
retryDelay: z.ZodDefault<z.ZodNumber>;
|
|
1096
|
+
batchSize: z.ZodDefault<z.ZodNumber>;
|
|
1097
|
+
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
1098
|
+
}, "strip", z.ZodTypeAny, {
|
|
1099
|
+
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk" | "nats";
|
|
1100
|
+
topic: string;
|
|
1101
|
+
ack: boolean;
|
|
1102
|
+
maxRetries: number;
|
|
1103
|
+
retryDelay: number;
|
|
1104
|
+
batchSize: number;
|
|
1105
|
+
concurrency: number;
|
|
1106
|
+
subscription?: string | undefined;
|
|
1107
|
+
consumerGroup?: string | undefined;
|
|
1108
|
+
deadLetterQueue?: string | undefined;
|
|
1109
|
+
}, {
|
|
1110
|
+
provider: "kafka" | "rabbitmq" | "sqs" | "redis" | "beanstalk" | "nats";
|
|
1111
|
+
topic: string;
|
|
1112
|
+
subscription?: string | undefined;
|
|
1113
|
+
consumerGroup?: string | undefined;
|
|
1114
|
+
ack?: boolean | undefined;
|
|
1115
|
+
deadLetterQueue?: string | undefined;
|
|
1116
|
+
maxRetries?: number | undefined;
|
|
1117
|
+
retryDelay?: number | undefined;
|
|
1118
|
+
batchSize?: number | undefined;
|
|
1119
|
+
concurrency?: number | undefined;
|
|
1120
|
+
}>;
|
|
1121
|
+
readonly pubsub: z.ZodObject<{
|
|
1122
|
+
provider: z.ZodEnum<["gcp", "aws", "azure"]>;
|
|
1123
|
+
topic: z.ZodString;
|
|
1124
|
+
subscription: z.ZodString;
|
|
1125
|
+
ack: z.ZodDefault<z.ZodBoolean>;
|
|
1126
|
+
maxMessages: z.ZodDefault<z.ZodNumber>;
|
|
1127
|
+
ackDeadline: z.ZodDefault<z.ZodNumber>;
|
|
1128
|
+
deadLetterTopic: z.ZodOptional<z.ZodString>;
|
|
1129
|
+
filter: z.ZodOptional<z.ZodString>;
|
|
1130
|
+
}, "strip", z.ZodTypeAny, {
|
|
1131
|
+
provider: "gcp" | "aws" | "azure";
|
|
1132
|
+
topic: string;
|
|
1133
|
+
subscription: string;
|
|
1134
|
+
ack: boolean;
|
|
1135
|
+
maxMessages: number;
|
|
1136
|
+
ackDeadline: number;
|
|
1137
|
+
filter?: string | undefined;
|
|
1138
|
+
deadLetterTopic?: string | undefined;
|
|
1139
|
+
}, {
|
|
1140
|
+
provider: "gcp" | "aws" | "azure";
|
|
1141
|
+
topic: string;
|
|
1142
|
+
subscription: string;
|
|
1143
|
+
filter?: string | undefined;
|
|
1144
|
+
ack?: boolean | undefined;
|
|
1145
|
+
maxMessages?: number | undefined;
|
|
1146
|
+
ackDeadline?: number | undefined;
|
|
1147
|
+
deadLetterTopic?: string | undefined;
|
|
1148
|
+
}>;
|
|
1149
|
+
readonly worker: z.ZodEffects<z.ZodObject<{
|
|
1150
|
+
delay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1151
|
+
ttl: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1152
|
+
debounce: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
1153
|
+
key: z.ZodString;
|
|
1154
|
+
mode: z.ZodDefault<z.ZodEnum<["leading", "trailing"]>>;
|
|
1155
|
+
delay: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
1156
|
+
maxDelay: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1157
|
+
}, "strip", z.ZodTypeAny, {
|
|
1158
|
+
key: string;
|
|
1159
|
+
mode: "leading" | "trailing";
|
|
1160
|
+
delay: string | number;
|
|
1161
|
+
maxDelay?: string | number | undefined;
|
|
1162
|
+
}, {
|
|
1163
|
+
key: string;
|
|
1164
|
+
delay: string | number;
|
|
1165
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1166
|
+
maxDelay?: string | number | undefined;
|
|
1167
|
+
}>, {
|
|
1168
|
+
key: string;
|
|
1169
|
+
mode: "leading" | "trailing";
|
|
1170
|
+
delay: string | number;
|
|
1171
|
+
maxDelay?: string | number | undefined;
|
|
1172
|
+
}, {
|
|
1173
|
+
key: string;
|
|
1174
|
+
delay: string | number;
|
|
1175
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1176
|
+
maxDelay?: string | number | undefined;
|
|
1177
|
+
}>>;
|
|
1178
|
+
concurrencyKey: z.ZodOptional<z.ZodString>;
|
|
1179
|
+
concurrencyLimit: z.ZodOptional<z.ZodNumber>;
|
|
1180
|
+
concurrencyLeaseMs: z.ZodOptional<z.ZodNumber>;
|
|
1181
|
+
onLimit: z.ZodOptional<z.ZodEnum<["throw", "queue"]>>;
|
|
1182
|
+
concurrencyQueueTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1183
|
+
concurrencyQueueRetry: z.ZodOptional<z.ZodObject<{
|
|
1184
|
+
minBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
1185
|
+
maxBackoffMs: z.ZodOptional<z.ZodNumber>;
|
|
1186
|
+
factor: z.ZodOptional<z.ZodNumber>;
|
|
1187
|
+
}, "strip", z.ZodTypeAny, {
|
|
1188
|
+
minBackoffMs?: number | undefined;
|
|
1189
|
+
maxBackoffMs?: number | undefined;
|
|
1190
|
+
factor?: number | undefined;
|
|
1191
|
+
}, {
|
|
1192
|
+
minBackoffMs?: number | undefined;
|
|
1193
|
+
maxBackoffMs?: number | undefined;
|
|
1194
|
+
factor?: number | undefined;
|
|
1195
|
+
}>>;
|
|
1196
|
+
queue: z.ZodString;
|
|
1197
|
+
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
1198
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
1199
|
+
retries: z.ZodDefault<z.ZodNumber>;
|
|
1200
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
1201
|
+
}, "strip", z.ZodTypeAny, {
|
|
1202
|
+
queue: string;
|
|
1203
|
+
concurrency: number;
|
|
1204
|
+
retries: number;
|
|
1205
|
+
priority: number;
|
|
1206
|
+
concurrencyKey?: string | undefined;
|
|
1207
|
+
concurrencyLimit?: number | undefined;
|
|
1208
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1209
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1210
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1211
|
+
concurrencyQueueRetry?: {
|
|
1212
|
+
minBackoffMs?: number | undefined;
|
|
1213
|
+
maxBackoffMs?: number | undefined;
|
|
1214
|
+
factor?: number | undefined;
|
|
1215
|
+
} | undefined;
|
|
1216
|
+
delay?: string | number | undefined;
|
|
1217
|
+
ttl?: string | number | undefined;
|
|
1218
|
+
debounce?: {
|
|
1219
|
+
key: string;
|
|
1220
|
+
mode: "leading" | "trailing";
|
|
1221
|
+
delay: string | number;
|
|
1222
|
+
maxDelay?: string | number | undefined;
|
|
1223
|
+
} | undefined;
|
|
1224
|
+
timeout?: number | undefined;
|
|
1225
|
+
}, {
|
|
1226
|
+
queue: string;
|
|
1227
|
+
concurrencyKey?: string | undefined;
|
|
1228
|
+
concurrencyLimit?: number | undefined;
|
|
1229
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1230
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1231
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1232
|
+
concurrencyQueueRetry?: {
|
|
1233
|
+
minBackoffMs?: number | undefined;
|
|
1234
|
+
maxBackoffMs?: number | undefined;
|
|
1235
|
+
factor?: number | undefined;
|
|
1236
|
+
} | undefined;
|
|
1237
|
+
delay?: string | number | undefined;
|
|
1238
|
+
ttl?: string | number | undefined;
|
|
1239
|
+
debounce?: {
|
|
1240
|
+
key: string;
|
|
1241
|
+
delay: string | number;
|
|
1242
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1243
|
+
maxDelay?: string | number | undefined;
|
|
1244
|
+
} | undefined;
|
|
1245
|
+
concurrency?: number | undefined;
|
|
1246
|
+
timeout?: number | undefined;
|
|
1247
|
+
retries?: number | undefined;
|
|
1248
|
+
priority?: number | undefined;
|
|
1249
|
+
}>, {
|
|
1250
|
+
queue: string;
|
|
1251
|
+
concurrency: number;
|
|
1252
|
+
retries: number;
|
|
1253
|
+
priority: number;
|
|
1254
|
+
concurrencyKey?: string | undefined;
|
|
1255
|
+
concurrencyLimit?: number | undefined;
|
|
1256
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1257
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1258
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1259
|
+
concurrencyQueueRetry?: {
|
|
1260
|
+
minBackoffMs?: number | undefined;
|
|
1261
|
+
maxBackoffMs?: number | undefined;
|
|
1262
|
+
factor?: number | undefined;
|
|
1263
|
+
} | undefined;
|
|
1264
|
+
delay?: string | number | undefined;
|
|
1265
|
+
ttl?: string | number | undefined;
|
|
1266
|
+
debounce?: {
|
|
1267
|
+
key: string;
|
|
1268
|
+
mode: "leading" | "trailing";
|
|
1269
|
+
delay: string | number;
|
|
1270
|
+
maxDelay?: string | number | undefined;
|
|
1271
|
+
} | undefined;
|
|
1272
|
+
timeout?: number | undefined;
|
|
1273
|
+
}, {
|
|
1274
|
+
queue: string;
|
|
1275
|
+
concurrencyKey?: string | undefined;
|
|
1276
|
+
concurrencyLimit?: number | undefined;
|
|
1277
|
+
concurrencyLeaseMs?: number | undefined;
|
|
1278
|
+
onLimit?: "throw" | "queue" | undefined;
|
|
1279
|
+
concurrencyQueueTimeoutMs?: number | undefined;
|
|
1280
|
+
concurrencyQueueRetry?: {
|
|
1281
|
+
minBackoffMs?: number | undefined;
|
|
1282
|
+
maxBackoffMs?: number | undefined;
|
|
1283
|
+
factor?: number | undefined;
|
|
1284
|
+
} | undefined;
|
|
1285
|
+
delay?: string | number | undefined;
|
|
1286
|
+
ttl?: string | number | undefined;
|
|
1287
|
+
debounce?: {
|
|
1288
|
+
key: string;
|
|
1289
|
+
delay: string | number;
|
|
1290
|
+
mode?: "leading" | "trailing" | undefined;
|
|
1291
|
+
maxDelay?: string | number | undefined;
|
|
1292
|
+
} | undefined;
|
|
1293
|
+
concurrency?: number | undefined;
|
|
1294
|
+
timeout?: number | undefined;
|
|
1295
|
+
retries?: number | undefined;
|
|
1296
|
+
priority?: number | undefined;
|
|
1297
|
+
}>;
|
|
1298
|
+
readonly cron: z.ZodObject<{
|
|
1299
|
+
schedule: z.ZodString;
|
|
1300
|
+
timezone: z.ZodDefault<z.ZodString>;
|
|
1301
|
+
overlap: z.ZodDefault<z.ZodBoolean>;
|
|
1302
|
+
}, "strip", z.ZodTypeAny, {
|
|
1303
|
+
schedule: string;
|
|
1304
|
+
timezone: string;
|
|
1305
|
+
overlap: boolean;
|
|
1306
|
+
}, {
|
|
1307
|
+
schedule: string;
|
|
1308
|
+
timezone?: string | undefined;
|
|
1309
|
+
overlap?: boolean | undefined;
|
|
1310
|
+
}>;
|
|
1311
|
+
readonly webhook: z.ZodObject<{
|
|
1312
|
+
source: z.ZodString;
|
|
1313
|
+
events: z.ZodArray<z.ZodString, "many">;
|
|
1314
|
+
secret: z.ZodOptional<z.ZodString>;
|
|
1315
|
+
path: z.ZodOptional<z.ZodString>;
|
|
1316
|
+
}, "strip", z.ZodTypeAny, {
|
|
1317
|
+
source: string;
|
|
1318
|
+
events: string[];
|
|
1319
|
+
path?: string | undefined;
|
|
1320
|
+
secret?: string | undefined;
|
|
1321
|
+
}, {
|
|
1322
|
+
source: string;
|
|
1323
|
+
events: string[];
|
|
1324
|
+
path?: string | undefined;
|
|
1325
|
+
secret?: string | undefined;
|
|
1326
|
+
}>;
|
|
1327
|
+
readonly sse: z.ZodObject<{
|
|
1328
|
+
events: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1329
|
+
channels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1330
|
+
path: z.ZodOptional<z.ZodString>;
|
|
1331
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
1332
|
+
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
1333
|
+
retryInterval: z.ZodDefault<z.ZodNumber>;
|
|
1334
|
+
}, "strip", z.ZodTypeAny, {
|
|
1335
|
+
events: string[];
|
|
1336
|
+
maxConnections: number;
|
|
1337
|
+
heartbeatInterval: number;
|
|
1338
|
+
retryInterval: number;
|
|
1339
|
+
path?: string | undefined;
|
|
1340
|
+
channels?: string[] | undefined;
|
|
1341
|
+
}, {
|
|
1342
|
+
path?: string | undefined;
|
|
1343
|
+
events?: string[] | undefined;
|
|
1344
|
+
maxConnections?: number | undefined;
|
|
1345
|
+
heartbeatInterval?: number | undefined;
|
|
1346
|
+
channels?: string[] | undefined;
|
|
1347
|
+
retryInterval?: number | undefined;
|
|
1348
|
+
}>;
|
|
1349
|
+
readonly websocket: z.ZodObject<{
|
|
1350
|
+
events: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1351
|
+
rooms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1352
|
+
path: z.ZodOptional<z.ZodString>;
|
|
1353
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
1354
|
+
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
1355
|
+
messageRateLimit: z.ZodDefault<z.ZodNumber>;
|
|
1356
|
+
}, "strip", z.ZodTypeAny, {
|
|
1357
|
+
events: string[];
|
|
1358
|
+
maxConnections: number;
|
|
1359
|
+
heartbeatInterval: number;
|
|
1360
|
+
messageRateLimit: number;
|
|
1361
|
+
path?: string | undefined;
|
|
1362
|
+
rooms?: string[] | undefined;
|
|
1363
|
+
}, {
|
|
1364
|
+
path?: string | undefined;
|
|
1365
|
+
events?: string[] | undefined;
|
|
1366
|
+
rooms?: string[] | undefined;
|
|
1367
|
+
maxConnections?: number | undefined;
|
|
1368
|
+
heartbeatInterval?: number | undefined;
|
|
1369
|
+
messageRateLimit?: number | undefined;
|
|
1370
|
+
}>;
|
|
1371
|
+
readonly grpc: null;
|
|
1372
|
+
readonly manual: null;
|
|
1373
|
+
};
|
|
1374
|
+
/** Union of every valid trigger configuration (typed). */
|
|
1375
|
+
export type AnyTriggerOpts = HttpTriggerOpts | QueueTriggerOpts | PubSubTriggerOpts | WorkerTriggerOpts | CronTriggerOpts | WebhookTriggerOpts | WebSocketTriggerOpts | SSETriggerOpts | Record<string, unknown>;
|
|
1376
|
+
/**
|
|
1377
|
+
* Validate a trigger configuration against the schema for the given trigger
|
|
1378
|
+
* kind. When the trigger has a schema, returns the parsed config (with
|
|
1379
|
+
* defaults applied). When the trigger has no schema (`grpc`, `manual`),
|
|
1380
|
+
* returns the input config (or an empty object when `undefined`).
|
|
1381
|
+
*
|
|
1382
|
+
* Throws when the trigger requires a schema and the config is missing or
|
|
1383
|
+
* invalid. The thrown error is either a `ZodError` (for shape violations) or
|
|
1384
|
+
* a regular `Error` (when config is missing entirely).
|
|
1385
|
+
*
|
|
1386
|
+
* @example
|
|
1387
|
+
* const cfg = validateTriggerConfig("cron", { schedule: "0 * * * *" });
|
|
1388
|
+
* // cfg.timezone === "UTC" (default applied)
|
|
1389
|
+
*
|
|
1390
|
+
* @example
|
|
1391
|
+
* validateTriggerConfig("cron", undefined);
|
|
1392
|
+
* // throws: 'Trigger "cron" requires a configuration object.'
|
|
1393
|
+
*/
|
|
1394
|
+
export declare function validateTriggerConfig(name: TriggersEnum, config: unknown): unknown;
|