@trigger.dev/core 4.7.4 → 4.8.0-webhooks.20261020092920
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/commonjs/utils.js.map +1 -1
- package/dist/commonjs/v3/apiClient/core.d.ts +2 -0
- package/dist/commonjs/v3/apiClient/core.js +2 -0
- package/dist/commonjs/v3/apiClient/core.js.map +1 -1
- package/dist/commonjs/v3/apiClient/errors.d.ts +3 -1
- package/dist/commonjs/v3/apiClient/errors.js +17 -13
- package/dist/commonjs/v3/apiClient/errors.js.map +1 -1
- package/dist/commonjs/v3/apiClient/getBranch.js +2 -2
- package/dist/commonjs/v3/apiClient/getBranch.js.map +1 -1
- package/dist/commonjs/v3/apiClient/index.d.ts +366 -1
- package/dist/commonjs/v3/apiClient/index.js +65 -0
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.js +35 -19
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/apiClient/stream.js +7 -1
- package/dist/commonjs/v3/apiClient/stream.js.map +1 -1
- package/dist/commonjs/v3/config.d.ts +44 -1
- package/dist/commonjs/v3/errors.d.ts +25 -2
- package/dist/commonjs/v3/errors.js +51 -12
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/otel/tracingSDK.d.ts +2 -0
- package/dist/commonjs/v3/otel/tracingSDK.js +2 -1
- package/dist/commonjs/v3/otel/tracingSDK.js.map +1 -1
- package/dist/commonjs/v3/otel/userSpanProcessor.d.ts +20 -0
- package/dist/commonjs/v3/otel/userSpanProcessor.js +94 -0
- package/dist/commonjs/v3/otel/userSpanProcessor.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/continueRetry.d.ts +28 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/continueRetry.js +54 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/continueRetry.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +7 -16
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.js +21 -16
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js +2 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +1 -0
- package/dist/commonjs/v3/schemas/api.d.ts +28 -0
- package/dist/commonjs/v3/schemas/api.js +4 -1
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/build.d.ts +80 -24
- package/dist/commonjs/v3/schemas/index.d.ts +1 -0
- package/dist/commonjs/v3/schemas/messages.d.ts +49 -20
- package/dist/commonjs/v3/schemas/messages.js +2 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/query.d.ts +854 -0
- package/dist/commonjs/v3/schemas/query.js +156 -1
- package/dist/commonjs/v3/schemas/query.js.map +1 -1
- package/dist/commonjs/v3/schemas/resources.d.ts +80 -24
- package/dist/commonjs/v3/schemas/schemas.d.ts +56 -0
- package/dist/commonjs/v3/schemas/webhookConfig.d.ts +64 -0
- package/dist/commonjs/v3/schemas/webhookConfig.js +40 -5
- package/dist/commonjs/v3/schemas/webhookConfig.js.map +1 -1
- package/dist/commonjs/v3/schemas/webhookFilter.d.ts +70 -17
- package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +1 -1
- package/dist/commonjs/v3/streams/asyncIterableStream.js +46 -12
- package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/commonjs/v3/types/chatEvents.d.ts +26 -4
- package/dist/commonjs/v3/types/webhooks.d.ts +27 -0
- package/dist/commonjs/v3/utils/structuredLogger.d.ts +6 -6
- package/dist/commonjs/v3/utils/structuredLogger.js.map +1 -1
- package/dist/commonjs/v3/webhooks/index.d.ts +613 -8
- package/dist/commonjs/v3/webhooks/index.js +246 -16
- package/dist/commonjs/v3/webhooks/index.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/v3/apiClient/core.d.ts +2 -0
- package/dist/esm/v3/apiClient/core.js +2 -0
- package/dist/esm/v3/apiClient/core.js.map +1 -1
- package/dist/esm/v3/apiClient/errors.d.ts +3 -1
- package/dist/esm/v3/apiClient/errors.js +17 -13
- package/dist/esm/v3/apiClient/errors.js.map +1 -1
- package/dist/esm/v3/apiClient/getBranch.js +2 -2
- package/dist/esm/v3/apiClient/getBranch.js.map +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +366 -1
- package/dist/esm/v3/apiClient/index.js +66 -1
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.js +35 -19
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/apiClient/stream.js +7 -1
- package/dist/esm/v3/apiClient/stream.js.map +1 -1
- package/dist/esm/v3/config.d.ts +44 -1
- package/dist/esm/v3/errors.d.ts +25 -2
- package/dist/esm/v3/errors.js +45 -10
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/otel/tracingSDK.d.ts +2 -0
- package/dist/esm/v3/otel/tracingSDK.js +2 -1
- package/dist/esm/v3/otel/tracingSDK.js.map +1 -1
- package/dist/esm/v3/otel/userSpanProcessor.d.ts +20 -0
- package/dist/esm/v3/otel/userSpanProcessor.js +90 -0
- package/dist/esm/v3/otel/userSpanProcessor.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/continueRetry.d.ts +28 -0
- package/dist/esm/v3/runEngineWorker/supervisor/continueRetry.js +51 -0
- package/dist/esm/v3/runEngineWorker/supervisor/continueRetry.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +7 -16
- package/dist/esm/v3/runEngineWorker/supervisor/http.js +21 -16
- package/dist/esm/v3/runEngineWorker/supervisor/http.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js +2 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +1 -0
- package/dist/esm/v3/schemas/api.d.ts +28 -0
- package/dist/esm/v3/schemas/api.js +4 -1
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/build.d.ts +80 -24
- package/dist/esm/v3/schemas/index.d.ts +1 -0
- package/dist/esm/v3/schemas/messages.d.ts +49 -20
- package/dist/esm/v3/schemas/messages.js +2 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/query.d.ts +854 -0
- package/dist/esm/v3/schemas/query.js +155 -0
- package/dist/esm/v3/schemas/query.js.map +1 -1
- package/dist/esm/v3/schemas/resources.d.ts +80 -24
- package/dist/esm/v3/schemas/schemas.d.ts +56 -0
- package/dist/esm/v3/schemas/webhookConfig.d.ts +64 -0
- package/dist/esm/v3/schemas/webhookConfig.js +40 -5
- package/dist/esm/v3/schemas/webhookConfig.js.map +1 -1
- package/dist/esm/v3/schemas/webhookFilter.d.ts +70 -17
- package/dist/esm/v3/streams/asyncIterableStream.d.ts +1 -1
- package/dist/esm/v3/streams/asyncIterableStream.js +46 -12
- package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/esm/v3/types/chatEvents.d.ts +26 -4
- package/dist/esm/v3/types/webhooks.d.ts +27 -0
- package/dist/esm/v3/utils/structuredLogger.d.ts +6 -6
- package/dist/esm/v3/utils/structuredLogger.js.map +1 -1
- package/dist/esm/v3/webhooks/index.d.ts +613 -8
- package/dist/esm/v3/webhooks/index.js +246 -16
- package/dist/esm/v3/webhooks/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -52,24 +52,64 @@ type FilterError<M extends string> = `✖ ${M}`;
|
|
|
52
52
|
type Invalid = {
|
|
53
53
|
readonly "~webhookFilterInvalid": true;
|
|
54
54
|
};
|
|
55
|
-
type
|
|
56
|
-
type
|
|
55
|
+
type IsValidFilterPath<P extends string> = P extends "" | `.${string}` | `${string}.` | `${string}..${string}` ? false : true;
|
|
56
|
+
type KnownValue<T> = unknown extends T ? unknown : NonNullable<T>;
|
|
57
|
+
/** Resolves per union member, so a path only some members have still resolves. */
|
|
58
|
+
type MemberPathValue<T, P extends string> = unknown extends T ? unknown : NonNullable<T> extends infer M ? M extends unknown ? P extends `${infer H}.${infer R}` ? H extends keyof M ? MemberPathValue<M[H], R> : Invalid : P extends keyof M ? KnownValue<M[P]> : Invalid : never : never;
|
|
59
|
+
type PathValue<T, P extends string> = IsValidFilterPath<P> extends false ? Invalid : [Exclude<MemberPathValue<T, P>, Invalid>] extends [never] ? Invalid : Exclude<MemberPathValue<T, P>, Invalid>;
|
|
60
|
+
type ResolveFilterPath<TEvent, P extends string> = IsValidFilterPath<P> extends false ? Invalid : P extends `event.${infer R}` ? PathValue<TEvent, R> : P extends `header.${string}` ? string : P extends `webhook.${infer R}` ? PathValue<WebhookFilterMeta, R> : Invalid;
|
|
57
61
|
type FilterLiteralType<Lit extends string> = Lit extends `'${infer S}'` ? S : Lit extends `${infer N extends number}` ? N : Lit extends "true" ? true : Lit extends "false" ? false : Lit extends "null" ? null : Invalid;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
type
|
|
62
|
+
/** `null` is valid on every field: the server matches it against a missing field as well as a null one. */
|
|
63
|
+
type CheckValue<F, Lit extends string, P extends string> = Lit extends "null" ? true : [FilterLiteralType<Lit>] extends [Invalid] ? FilterError<`cannot parse value: ${Lit}`> : [FilterLiteralType<Lit>] extends [F] ? true : FilterError<`value ${Lit} is not valid for ${P}`>;
|
|
64
|
+
type CheckNum<F, Lit extends string, P extends string> = [
|
|
65
|
+
Extract<unknown extends F ? number : F, number>
|
|
66
|
+
] extends [never] ? FilterError<`${P} is not numeric`> : Lit extends `${number}` ? true : FilterError<`${P} needs a number`>;
|
|
67
|
+
type CheckStr<F, Lit extends string, P extends string> = [
|
|
68
|
+
Extract<unknown extends F ? string : F, string>
|
|
69
|
+
] extends [never] ? FilterError<`${P} is not a string`> : Lit extends `'${string}'` ? true : FilterError<`${P} op needs a string literal`>;
|
|
70
|
+
type TrimItem<S extends string> = S extends ` ${infer R}` ? TrimItem<R> : S extends `${infer L} ` ? TrimItem<L> : S;
|
|
71
|
+
type CheckInItems<F, Items extends string, P extends string> = Items extends `${infer Head},${infer Tail}` ? CheckValue<F, TrimItem<Head>, P> extends true ? CheckInItems<F, Tail, P> : CheckValue<F, TrimItem<Head>, P> : CheckValue<F, TrimItem<Items>, P>;
|
|
64
72
|
type CheckIn<F, Lit extends string, P extends string> = Lit extends `[${infer Items}]` ? CheckInItems<F, Items, P> : FilterError<`${P} "in" expects a [list]`>;
|
|
65
73
|
type CheckOp<F, Op extends string, Lit extends string, P extends string> = Op extends "==" | "!=" ? CheckValue<F, Lit, P> : Op extends ">" | "<" | ">=" | "<=" ? CheckNum<F, Lit, P> : Op extends "startsWith" | "endsWith" | "contains" ? CheckStr<F, Lit, P> : Op extends "in" ? CheckIn<F, Lit, P> : FilterError<`unknown operator: ${Op}`>;
|
|
66
74
|
type IsFilterPath<S extends string> = S extends `event.${string}` | `header.${string}` | `webhook.${string}` ? true : false;
|
|
67
75
|
type CheckFieldToField<TEvent, F, Op extends string, Rhs extends string, P extends string> = Op extends "==" | "!=" | ">" | "<" | ">=" | "<=" ? ResolveFilterPath<TEvent, Rhs> extends infer RF ? [RF] extends [Invalid] ? FilterError<`unknown field: ${Rhs}`> : [RF] extends [F] ? true : [F] extends [RF] ? true : FilterError<`${P} and ${Rhs} are not comparable`> : never : FilterError<`operator "${Op}" does not support a field reference`>;
|
|
68
76
|
type LeafCheck<TEvent, P extends string, Op extends string, Lit extends string> = ResolveFilterPath<TEvent, P> extends infer F ? [F] extends [Invalid] ? FilterError<`unknown field: ${P}`> : IsFilterPath<Lit> extends true ? CheckFieldToField<TEvent, F, Op, Lit, P> : CheckOp<F, Op, Lit, P> : never;
|
|
69
|
-
type ElementOf<T> = T extends readonly (infer E)[] ? E : never;
|
|
70
|
-
|
|
71
|
-
type
|
|
72
|
-
type
|
|
77
|
+
type ElementOf<T> = unknown extends T ? unknown : T extends readonly (infer E)[] ? E : never;
|
|
78
|
+
/** The array a quantifier reads: a field, or the event itself (`event any (...)`) when the body is an array. */
|
|
79
|
+
type ResolveQuantifierArray<TEvent, ArrP extends string> = ArrP extends "event" ? TEvent : ResolveFilterPath<TEvent, ArrP>;
|
|
80
|
+
type CheckQuantifier<TEvent, ArrP extends string, SubP extends string, Op extends string, Lit extends string> = ResolveQuantifierArray<TEvent, ArrP> extends infer Arr ? [Arr] extends [Invalid] ? FilterError<`unknown field: ${ArrP}`> : [ElementOf<Arr>] extends [never] ? FilterError<`${ArrP} is not an array`> : PathValue<ElementOf<Arr>, SubP> extends infer SF ? [SF] extends [Invalid] ? FilterError<`unknown field: ${SubP} (in ${ArrP})`> : CheckOp<SF, Op, Lit, SubP> : never : never;
|
|
81
|
+
type OddQuotes<S extends string, Odd extends boolean = false> = S extends `${string}'${infer R}` ? OddQuotes<R, Odd extends true ? false : true> : Odd;
|
|
82
|
+
type Unclosed<S extends string> = OddQuotes<S> extends true ? true : S extends `${string}[${infer After}` ? After extends `${string}]${string}` ? false : true : false;
|
|
83
|
+
/** Splits on spaces, keeping a quoted string or a `[list]` that contains spaces as one token. */
|
|
84
|
+
type SplitOnSpaces<S extends string, Acc extends string[] = []> = S extends `${infer H} ${infer R}` ? Unclosed<H> extends true ? TokenizeJoin<R, H, Acc> : SplitOnSpaces<R, [...Acc, H]> : [...Acc, S];
|
|
85
|
+
type TokenizeJoin<S extends string, Cur extends string, Acc extends string[]> = S extends `${infer H} ${infer R}` ? Unclosed<`${Cur} ${H}`> extends true ? TokenizeJoin<R, `${Cur} ${H}`, Acc> : SplitOnSpaces<R, [...Acc, `${Cur} ${H}`]> : [...Acc, `${Cur} ${S}`];
|
|
86
|
+
type SplitClose<S extends string, Post extends string[] = []> = S extends `${infer L})` ? SplitClose<L, [")", ...Post]> : S extends "" ? Post : [S, ...Post];
|
|
87
|
+
type SplitOpen<S extends string, Pre extends string[] = []> = S extends `(${infer R}` ? SplitOpen<R, [...Pre, "("]> : [...Pre, ...SplitClose<S>];
|
|
88
|
+
type SplitParens<Tk extends string[], Acc extends string[] = []> = Tk extends [
|
|
89
|
+
infer H extends string,
|
|
90
|
+
...infer R extends string[]
|
|
91
|
+
] ? SplitParens<R, [...Acc, ...(H extends `'${string}'` ? [H] : SplitOpen<H>)]> : Acc;
|
|
92
|
+
type Tokenize<S extends string> = SplitParens<SplitOnSpaces<S>>;
|
|
93
|
+
type InItemTypes<Items extends string, Acc = never> = Items extends `${infer Head},${infer Tail}` ? InItemTypes<Tail, Acc | FilterLiteralType<TrimItem<Head>>> : Acc | FilterLiteralType<TrimItem<Items>>;
|
|
94
|
+
type LooseEqKind<V> = V extends string ? string : V extends number ? number : unknown;
|
|
95
|
+
/**
|
|
96
|
+
* Drops a member only when its field can never equal `V` under the server's coercing `==`: the field
|
|
97
|
+
* is missing, or holds only values of `V`'s own primitive kind that differ from it.
|
|
98
|
+
*/
|
|
99
|
+
type NarrowTo<T, P extends string, V> = V extends unknown ? T extends unknown ? Exclude<MemberPathValue<T, P>, Invalid> extends infer F ? [V] extends [F] ? T : [F] extends [LooseEqKind<V>] ? never : T : never : never : never;
|
|
100
|
+
/**
|
|
101
|
+
* The server's `==` also matches a null field for `null`, `'null'` and `0`, so those never narrow,
|
|
102
|
+
* nor does a number literal TypeScript can't type exactly (`0.0`, `-0`), which reads as `number`.
|
|
103
|
+
*/
|
|
104
|
+
type NarrowEq<T, P extends string, V> = unknown extends T ? T : number extends V ? T : [Extract<V, null | "null" | 0>] extends [never] ? NarrowTo<T, P, V> : T;
|
|
105
|
+
type NarrowLeaf<T, P extends string, Op extends string, Lit extends string> = P extends `event.${infer R}` ? Op extends "==" ? IsFilterPath<Lit> extends true ? T : NarrowEq<T, R, FilterLiteralType<Lit>> : Op extends "in" ? Lit extends `[${infer Items}]` ? NarrowEq<T, R, InItemTypes<Items>> : T : T : T;
|
|
106
|
+
type Frame = [unknown, unknown];
|
|
107
|
+
/**
|
|
108
|
+
* `Cur` is the event the current `&&` chain has narrowed to. Each paren group (and the whole filter)
|
|
109
|
+
* is a frame of [the type the group started from, the union of its finished `||` branches]. A valid
|
|
110
|
+
* filter scans to `[narrowed event]`, an invalid one to its error.
|
|
111
|
+
*/
|
|
112
|
+
type Scan<Cur, Tk extends string[], Frames extends Frame[], Expect extends "operand" | "operator"> = Expect extends "operand" ? Tk extends ["(", ...infer Rest extends string[]] ? Scan<Cur, Rest, [[Cur, never], ...Frames], "operand"> : Tk extends [")" | "&&" | "||", ...string[]] ? FilterError<`unexpected "${Tk[0] & string}"`> : Tk extends [
|
|
73
113
|
infer ArrP extends string,
|
|
74
114
|
"any" | "all",
|
|
75
115
|
"(",
|
|
@@ -78,18 +118,31 @@ type Scan<TEvent, Tk extends string[], Depth extends 1[], Expect extends "operan
|
|
|
78
118
|
infer SubLit extends string,
|
|
79
119
|
")",
|
|
80
120
|
...infer Rest extends string[]
|
|
81
|
-
] ? CheckQuantifier<
|
|
121
|
+
] ? CheckQuantifier<Cur, ArrP, SubP, SubOp, SubLit> extends infer R ? R extends true ? Scan<Cur, Rest, Frames, "operator"> : R : never : Tk extends [
|
|
82
122
|
infer P extends string,
|
|
83
123
|
"not",
|
|
84
124
|
"in",
|
|
85
125
|
infer Lit extends string,
|
|
86
126
|
...infer Rest extends string[]
|
|
87
|
-
] ? ResolveFilterPath<
|
|
127
|
+
] ? ResolveFilterPath<Cur, P> extends infer F ? [F] extends [Invalid] ? FilterError<`unknown field: ${P}`> : CheckIn<F, Lit, P> extends infer R ? R extends true ? Scan<Cur, Rest, Frames, "operator"> : R : never : never : Tk extends [
|
|
88
128
|
infer P extends string,
|
|
89
129
|
infer Op extends string,
|
|
90
130
|
infer Lit extends string,
|
|
91
131
|
...infer Rest extends string[]
|
|
92
|
-
] ? LeafCheck<
|
|
93
|
-
|
|
94
|
-
|
|
132
|
+
] ? LeafCheck<Cur, P, Op, Lit> extends infer R ? R extends true ? Scan<NarrowLeaf<Cur, P, Op, Lit>, Rest, Frames, "operator"> : R : never : FilterError<`incomplete clause`> : Tk extends [] ? Frames extends [[unknown, infer Done]] ? [Done | Cur] : FilterError<`unbalanced parens (missing ")")`> : Tk extends ["&&", ...infer Rest extends string[]] ? Scan<Cur, Rest, Frames, "operand"> : Tk extends ["||", ...infer Rest extends string[]] ? Frames extends [[infer Base, infer Done], ...infer Outer extends Frame[]] ? Scan<Base, Rest, [[Base, Done | Cur], ...Outer], "operand"> : never : Tk extends [")", ...infer Rest extends string[]] ? Frames extends [
|
|
133
|
+
[
|
|
134
|
+
unknown,
|
|
135
|
+
infer Done
|
|
136
|
+
],
|
|
137
|
+
infer Next extends Frame,
|
|
138
|
+
...infer Outer extends Frame[]
|
|
139
|
+
] ? Scan<Done | Cur, Rest, [Next, ...Outer], "operator"> : FilterError<`unmatched ")"`> : FilterError<`expected && or ||, got "${Tk[0] & string}"`>;
|
|
140
|
+
type ScanFilter<TEvent, S extends string> = Scan<TEvent, Tokenize<S>, [[TEvent, never]], "operand">;
|
|
141
|
+
export type ValidateWebhookFilter<TEvent, S extends string> = string extends S ? S : ScanFilter<TEvent, S> extends [unknown] ? S : ScanFilter<TEvent, S>;
|
|
142
|
+
/**
|
|
143
|
+
* The event a handler sees once the filter `S` has passed: the members of a union event that the
|
|
144
|
+
* filter's `event.<path> == <literal>` (or `in [...]`) clauses select, or `TEvent` when the filter
|
|
145
|
+
* doesn't narrow it (or isn't a literal).
|
|
146
|
+
*/
|
|
147
|
+
export type NarrowWebhookEvent<TEvent, S extends string> = string extends S ? TEvent : ScanFilter<TEvent, S> extends [infer Narrowed] ? Narrowed : TEvent;
|
|
95
148
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type AsyncIterableStream<T> = AsyncIterable<T> & ReadableStream<T>;
|
|
2
2
|
export declare function createAsyncIterableStream<S, T>(source: ReadableStream<S>, transformer: Transformer<S, T>): AsyncIterableStream<T>;
|
|
3
|
-
export declare function createAsyncIterableReadable<S, T>(source: ReadableStream<S>, transformer: Transformer<S, T>, signal: AbortSignal): AsyncIterableStream<T>;
|
|
3
|
+
export declare function createAsyncIterableReadable<S, T>(source: ReadableStream<S>, transformer: Transformer<S, T>, signal: AbortSignal, onCancel?: () => void): AsyncIterableStream<T>;
|
|
4
4
|
export declare function createAsyncIterableStreamFromAsyncIterable<T>(asyncIterable: AsyncIterable<T>, transformer?: Transformer<T, T>, signal?: AbortSignal): AsyncIterableStream<T>;
|
|
5
5
|
export declare function createAsyncIterableStreamFromAsyncGenerator<T>(asyncGenerator: AsyncGenerator<T, void, unknown>, transformer: Transformer<T, T>, signal?: AbortSignal): AsyncIterableStream<T>;
|
|
6
6
|
export declare function ensureAsyncIterable<T>(input: AsyncIterable<T> | ReadableStream<T>): AsyncIterable<T>;
|
|
@@ -19,25 +19,59 @@ function createAsyncIterableStream(source, transformer) {
|
|
|
19
19
|
};
|
|
20
20
|
return transformedStream;
|
|
21
21
|
}
|
|
22
|
-
function createAsyncIterableReadable(source, transformer, signal) {
|
|
22
|
+
function createAsyncIterableReadable(source, transformer, signal, onCancel) {
|
|
23
|
+
// Set once the stream is closed, errored or cancelled; the controller must not be touched after
|
|
24
|
+
let closed = false;
|
|
25
|
+
let reader;
|
|
23
26
|
return new ReadableStream({
|
|
24
27
|
async start(controller) {
|
|
25
28
|
const transformedStream = source.pipeThrough(new TransformStream(transformer));
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
const activeReader = transformedStream.getReader();
|
|
30
|
+
reader = activeReader;
|
|
31
|
+
const safeClose = () => {
|
|
32
|
+
if (closed)
|
|
33
|
+
return;
|
|
34
|
+
closed = true;
|
|
35
|
+
try {
|
|
30
36
|
controller.close();
|
|
37
|
+
}
|
|
38
|
+
catch { }
|
|
39
|
+
};
|
|
40
|
+
const onAbort = () => {
|
|
41
|
+
queueMicrotask(() => {
|
|
42
|
+
activeReader.cancel().catch(() => { });
|
|
43
|
+
safeClose();
|
|
31
44
|
});
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
};
|
|
46
|
+
if (signal.aborted) {
|
|
47
|
+
onAbort();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
while (!closed) {
|
|
54
|
+
const { done, value } = await activeReader.read();
|
|
55
|
+
if (done || closed)
|
|
56
|
+
break;
|
|
57
|
+
controller.enqueue(value);
|
|
58
|
+
}
|
|
59
|
+
safeClose();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (!closed) {
|
|
63
|
+
closed = true;
|
|
64
|
+
controller.error(error);
|
|
38
65
|
}
|
|
39
|
-
controller.enqueue(value);
|
|
40
66
|
}
|
|
67
|
+
finally {
|
|
68
|
+
signal.removeEventListener("abort", onAbort);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
cancel(reason) {
|
|
72
|
+
closed = true;
|
|
73
|
+
reader?.cancel(reason).catch(() => { });
|
|
74
|
+
onCancel?.();
|
|
41
75
|
},
|
|
42
76
|
});
|
|
43
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncIterableStream.js","sourceRoot":"","sources":["../../../../src/v3/streams/asyncIterableStream.ts"],"names":[],"mappings":";;;;;;;;AAEA,mCACE,MAAyB,EACzB,WAA8B;IAE9B,MAAM,iBAAiB,GAAQ,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpF,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC7C,OAAO;YACL,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,qCACE,MAAyB,EACzB,WAA8B,EAC9B,MAAmB;
|
|
1
|
+
{"version":3,"file":"asyncIterableStream.js","sourceRoot":"","sources":["../../../../src/v3/streams/asyncIterableStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WebhookEndpointContext } from "./webhooks.js";
|
|
2
2
|
export type WebhookKeyScalar = string | number | boolean | bigint;
|
|
3
3
|
export interface WebhookKeyMeta {
|
|
4
4
|
externalRef: string;
|
|
@@ -14,18 +14,32 @@ type Invalid = {
|
|
|
14
14
|
type PathValue<T, P extends string> = P extends `${infer Head}.${infer Rest}` ? Head extends keyof T ? PathValue<NonNullable<T[Head]>, Rest> : Invalid : P extends keyof T ? NonNullable<T[P]> : Invalid;
|
|
15
15
|
export type WebhookKeyError<M extends string> = `✖ ${M}`;
|
|
16
16
|
type TrimSpace<S extends string> = S extends ` ${infer R}` ? TrimSpace<R> : S extends `${infer L} ` ? TrimSpace<L> : S;
|
|
17
|
-
type CheckKeyPathSingle<TEvent, Path extends string> = Path extends `webhook.${infer Rest}` ? PathValue<WebhookKeyMeta, Rest> extends WebhookKeyScalar ? true : WebhookKeyError<`unknown or non-scalar webhook meta path: ${Rest}`> : Path extends `header.${infer Name}` ? Name extends "" ? WebhookKeyError<`empty header name`> : true : Path extends `body.${infer Rest}` ? PathValue<TEvent, Rest> extends WebhookKeyScalar ? true : WebhookKeyError<`unknown or non-scalar event path: ${Rest}`> : PathValue<TEvent, Path> extends WebhookKeyScalar ? true : WebhookKeyError<`unknown or non-scalar event path: ${Path}`>;
|
|
18
17
|
type CheckKeyPath<TEvent, Path extends string> = Path extends `${infer L}||${infer R}` ? CheckKeyPathSingle<TEvent, TrimSpace<L>> extends true ? CheckKeyPath<TEvent, TrimSpace<R>> : CheckKeyPathSingle<TEvent, TrimSpace<L>> : CheckKeyPathSingle<TEvent, TrimSpace<Path>>;
|
|
19
18
|
type CheckKeyTemplate<TEvent, S extends string> = S extends `${infer _Pre}{${infer Path}}${infer Rest}` ? CheckKeyPath<TEvent, Path> extends true ? CheckKeyTemplate<TEvent, Rest> : CheckKeyPath<TEvent, Path> : true;
|
|
20
19
|
export type ValidatedWebhookKey<TEvent, S extends string> = CheckKeyTemplate<TEvent, S> extends true ? S : CheckKeyTemplate<TEvent, S>;
|
|
20
|
+
type MatchNext<X> = unknown extends X ? unknown : NonNullable<X>;
|
|
21
|
+
type MatchPathValue<T, P extends string> = unknown extends T ? unknown : P extends `${infer Head}.${infer Rest}` ? Head extends keyof T ? MatchPathValue<MatchNext<T[Head]>, Rest> : string extends keyof T ? unknown : Invalid : P extends keyof T ? MatchNext<T[P]> : string extends keyof T ? unknown : Invalid;
|
|
22
|
+
type CheckEventPath<TEvent, Path extends string> = Path extends "" | `.${string}` | `${string}.` | `${string}..${string}` ? WebhookKeyError<`empty path segment: ${Path}`> : MatchPathValue<TEvent, Path> extends Invalid ? WebhookKeyError<`unknown event path: ${Path}`> : unknown extends MatchPathValue<TEvent, Path> ? true : MatchPathValue<TEvent, Path> extends WebhookKeyScalar ? true : WebhookKeyError<`non-scalar event path: ${Path}`>;
|
|
23
|
+
type CheckMetaPath<Path extends string> = Path extends `header.${infer Name}` ? Name extends "" ? WebhookKeyError<`empty header name`> : true : Path extends `webhook.${infer Rest}` ? PathValue<WebhookKeyMeta, Rest> extends WebhookKeyScalar ? true : WebhookKeyError<`unknown or non-scalar webhook meta path: ${Rest}`> : false;
|
|
24
|
+
type CheckNamespacedPath<TEvent, Path extends string, What extends string> = Path extends `event.${infer Rest}` ? CheckEventPath<TEvent, Rest> : CheckMetaPath<Path> extends false ? WebhookKeyError<`${What} paths start with event., header. or webhook.: ${Path}`> : CheckMetaPath<Path>;
|
|
25
|
+
type CheckMatchPath<TEvent, Path extends string> = CheckNamespacedPath<TEvent, Path, "match">;
|
|
26
|
+
type CheckKeyPathSingle<TEvent, Path extends string> = CheckNamespacedPath<TEvent, Path, "key">;
|
|
27
|
+
/**
|
|
28
|
+
* A webhook waiter's `match`: each key a path (`event.*` reads the event, `header.*` a header and
|
|
29
|
+
* `webhook.*` the endpoint), each value the scalar it must equal. A bad path turns that key's value
|
|
30
|
+
* type into an error naming it.
|
|
31
|
+
*/
|
|
32
|
+
export type ValidatedWebhookMatch<TEvent, M> = {
|
|
33
|
+
[K in keyof M]: K extends string ? CheckMatchPath<TEvent, K> extends true ? M[K] : CheckMatchPath<TEvent, K> : never;
|
|
34
|
+
};
|
|
21
35
|
declare const dEvt: unique symbol;
|
|
22
36
|
export interface ChatEvent<TType extends string, TEvent> {
|
|
23
37
|
id: string;
|
|
24
38
|
type: TType;
|
|
25
39
|
key: string;
|
|
40
|
+
/** The endpoint this event subscribes to (`webhooks.endpoint.define` id). */
|
|
41
|
+
endpointId: string;
|
|
26
42
|
source: string;
|
|
27
|
-
verifierArtifact: WebhookVerifierArtifact;
|
|
28
|
-
secretProvisioning?: WebhookSecretProvisioning;
|
|
29
43
|
filter?: string;
|
|
30
44
|
readonly [dEvt]?: TEvent;
|
|
31
45
|
}
|
|
@@ -35,7 +49,15 @@ export type ChatEventAction<W> = W extends ChatEvent<infer TType, infer TEvent>
|
|
|
35
49
|
event: TEvent;
|
|
36
50
|
source: string;
|
|
37
51
|
headers: Record<string, string>;
|
|
52
|
+
/** The delivery's id (`whd_...`), as in the dashboard and the deliveries API. A replay gets a new one. */
|
|
38
53
|
deliveryId: string;
|
|
54
|
+
/**
|
|
55
|
+
* The provider's id for the delivery (e.g. Stripe's `evt_...`), the same across replays.
|
|
56
|
+
* Absent on an action delivered by an older server.
|
|
57
|
+
*/
|
|
58
|
+
externalDeliveryId?: string;
|
|
59
|
+
/** The endpoint the delivery arrived on. */
|
|
60
|
+
endpoint?: WebhookEndpointContext;
|
|
39
61
|
} : never;
|
|
40
62
|
export type ChatEventActions<TW extends readonly AnyChatEvent[]> = ChatEventAction<TW[number]>;
|
|
41
63
|
export {};
|
|
@@ -16,6 +16,33 @@ export type WebhookSource<TEvent = unknown> = {
|
|
|
16
16
|
[__webhookEvent]?: TEvent;
|
|
17
17
|
};
|
|
18
18
|
export type AnyWebhookSource = WebhookSource<any>;
|
|
19
|
+
declare const __endpointEvent: unique symbol;
|
|
20
|
+
/**
|
|
21
|
+
* A declared webhook endpoint (`webhooks.endpoint.define`): one provider URL that subscribers
|
|
22
|
+
* (`webhook()`, `chat.event`, channel connectors) and waiters attach to. The event type comes from
|
|
23
|
+
* the endpoint's source.
|
|
24
|
+
*/
|
|
25
|
+
export type WebhookEndpoint<TEvent = unknown> = {
|
|
26
|
+
/** The declared endpoint id. */
|
|
27
|
+
id: string;
|
|
28
|
+
/** The source's provider tag, e.g. "stripe". */
|
|
29
|
+
source: string;
|
|
30
|
+
/** phantom, type-level only; never present at runtime */
|
|
31
|
+
[__endpointEvent]?: TEvent;
|
|
32
|
+
};
|
|
33
|
+
export type AnyWebhookEndpoint = WebhookEndpoint<any>;
|
|
34
|
+
/** What a webhook waiter resumes its run with. */
|
|
35
|
+
export type WebhookWaiterOutput<TEvent = unknown> = {
|
|
36
|
+
/** The verified event body. */
|
|
37
|
+
event: TEvent;
|
|
38
|
+
/** The inbound headers, curated as for `webhook()` (credentials dropped). */
|
|
39
|
+
headers: Record<string, string>;
|
|
40
|
+
/** The delivery's id (`whd_...`). */
|
|
41
|
+
deliveryId: string;
|
|
42
|
+
/** The endpoint the delivery arrived on. */
|
|
43
|
+
endpoint: WebhookEndpointContext;
|
|
44
|
+
};
|
|
45
|
+
export type InferWebhookEndpointEvent<E> = E extends WebhookEndpoint<infer TEvent> ? TEvent : unknown;
|
|
19
46
|
export type InferWebhookEvent<S> = S extends WebhookSource<infer TEvent> ? TEvent : unknown;
|
|
20
47
|
/**
|
|
21
48
|
* The endpoint a delivery arrived on. `id` is the endpoint instance (`wh_...`); `declaredId` is the
|
|
@@ -8,12 +8,12 @@ export interface StructuredLogger {
|
|
|
8
8
|
child: (fields: Record<string, unknown>) => StructuredLogger;
|
|
9
9
|
}
|
|
10
10
|
export declare enum LogLevel {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
log = 0,
|
|
12
|
+
error = 1,
|
|
13
|
+
warn = 2,
|
|
14
|
+
info = 3,
|
|
15
|
+
debug = 4,
|
|
16
|
+
verbose = 5
|
|
17
17
|
}
|
|
18
18
|
export declare class SimpleStructuredLogger implements StructuredLogger {
|
|
19
19
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuredLogger.js","sourceRoot":"","sources":["../../../../src/v3/utils/structuredLogger.ts"],"names":[],"mappings":";;;;AAAA,+CAAyC;AAazC,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,
|
|
1
|
+
{"version":3,"file":"structuredLogger.js","sourceRoot":"","sources":["../../../../src/v3/utils/structuredLogger.ts"],"names":[],"mappings":";;;;AAAA,+CAAyC;AAazC,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,qCAAG,CAAA;IACH,yCAAK,CAAA;IACL,uCAAI,CAAA;IACJ,uCAAI,CAAA;IACJ,yCAAK,CAAA;IACL,6CAAO,CAAA;AACT,CAAC,EAPW,QAAQ,aAAR,QAAQ,GAAR,QAAQ,QAOnB;AAED;IAQY,IAAI;IACJ,KAAK;IAKL,MAAM;IAbhB,oFAAoF;IACpF,yFAAyF;IACzF,MAAM,CAAC,KAAK,CAAoD;IAExD,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAE5E,YACU,IAAY,EACZ,KAAK,GAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QACzE,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,EACX,MAAgC;oBANhC,IAAI;qBACJ,KAAK;sBAKL,MAAM;IACb,CAAC;IAEJ,KAAK,CAAC,MAA+B,EAAE,KAAgB;QACrD,OAAO,IAAI,EAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC1C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG;YAAE,OAAO;QAEtC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;YAAE,OAAO;QAExC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI;YAAE,OAAO;QAEvC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI;YAAE,OAAO;QAEvC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;YAAE,OAAO;QAExC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,GAAG,IAAoB;QAC9C,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO;YAAE,OAAO;QAE1C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,MAA+B;QACvC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,cAAyD,EACzD,OAAe,EACf,KAAa,EACb,GAAG,IAAoB;QAEvB,MAAM,aAAa,GAAG,IAAA,kBAAM,EAAC;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACxC,CAA4B,CAAC;QAE9B,IAAI,EAAsB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,EAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
|