@process.co/element-types 0.0.24 → 0.0.26
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/README.md +7 -2
- package/dist/define-signal-hook-this.test-d.d.ts.map +1 -1
- package/dist/define-signal-hook-this.test-d.js +9 -1
- package/dist/define-signal-ingress.test-d.d.ts +2 -0
- package/dist/define-signal-ingress.test-d.d.ts.map +1 -0
- package/dist/define-signal-ingress.test-d.js +52 -0
- package/dist/index.d.ts +59 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/ingress-filters.d.ts +176 -0
- package/dist/ingress-filters.d.ts.map +1 -0
- package/dist/ingress-filters.js +34 -0
- package/package.json +1 -1
- package/src/define-signal-hook-this.test-d.ts +8 -0
- package/src/define-signal-ingress.test-d.ts +51 -0
- package/src/index.ts +85 -18
- package/src/ingress-filters.ts +210 -0
package/README.md
CHANGED
|
@@ -84,6 +84,9 @@ export const inboundWebhook = defineSignal({
|
|
|
84
84
|
type: 'signal',
|
|
85
85
|
app: 'example_app',
|
|
86
86
|
key: 'inbound_webhook',
|
|
87
|
+
ingress: {
|
|
88
|
+
filters: [{ type: 'http_new_requests' }],
|
|
89
|
+
},
|
|
87
90
|
props: {
|
|
88
91
|
httpInterface: { type: '$.interface.http' },
|
|
89
92
|
cacheMaxAge: { type: '$.interface.duration', default: 86_400 },
|
|
@@ -114,6 +117,8 @@ Top-level `run` is still accepted for older definitions; runtime normalizes eith
|
|
|
114
117
|
|
|
115
118
|
Hook names accept both modern (`save`, `activate`, `deactivate`) and legacy (`onSave`, `onActivate`, `onDeactivate`) aliases.
|
|
116
119
|
|
|
120
|
+
`ingress.filters` is a static edge-ingress declaration. Save/publish materializes it to the reserved row field `$ingressFilters`. A `hooks.save` body can call `$.http.configureIngressFilters(...)` to replace the static default completely.
|
|
121
|
+
|
|
117
122
|
## Signal host surfaces
|
|
118
123
|
|
|
119
124
|
Host capabilities are **split by hook** so TypeScript prevents calling the wrong API:
|
|
@@ -121,10 +126,10 @@ Host capabilities are **split by hook** so TypeScript prevents calling the wrong
|
|
|
121
126
|
| Surface | When | `params.$` type | Typical capabilities |
|
|
122
127
|
|--------|------|-----------------|----------------------|
|
|
123
128
|
| **`run`** | Live webhook / test execution | `SignalRunHostServices` | `enforceSchema`, `export`, `$transitionToSlot`, `interfaceEmitSchema` |
|
|
124
|
-
| **`hooks.save`** | Publish / save materialization | `SignalSaveHookHostServices` | `isDraft`, `http.configureResponseCaching` |
|
|
129
|
+
| **`hooks.save`** | Publish / save materialization | `SignalSaveHookHostServices` | `isDraft`, `http.configureResponseCaching`, `http.configureIngressFilters` |
|
|
125
130
|
| **`hooks.activate` / `hooks.deactivate`** | Lifecycle | `SignalLifecycleHookHostServices` | `isDraft`, `export` |
|
|
126
131
|
|
|
127
|
-
`this` in hooks is **`DeriveSignalHookInstance`** (props
|
|
132
|
+
`this` in hooks is **`DeriveSignalHookInstance`** (props plus static metadata such as `ingress`, but no live `$emit` or HTTP interface methods). `this` in **`run`** is **`DeriveSignalInstance`** (includes runtime helpers such as HTTP interface methods).
|
|
128
133
|
|
|
129
134
|
### Draft vs production (`$.isDraft`)
|
|
130
135
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-signal-hook-this.test-d.d.ts","sourceRoot":"","sources":["../src/define-signal-hook-this.test-d.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIH,KAAK,wBAAwB,EAChC,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"define-signal-hook-this.test-d.d.ts","sourceRoot":"","sources":["../src/define-signal-hook-this.test-d.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIH,KAAK,wBAAwB,EAChC,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAwCZ,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC"}
|
|
@@ -19,6 +19,14 @@ const _webhook = (0, index_1.defineSignal)({
|
|
|
19
19
|
maxAge: this.cacheMaxAge,
|
|
20
20
|
varyBy: '*',
|
|
21
21
|
});
|
|
22
|
+
await $.http.configureIngressFilters({
|
|
23
|
+
filters: [
|
|
24
|
+
{
|
|
25
|
+
type: 'http_new_requests',
|
|
26
|
+
config: { resStatusCode: 200, resBody: 'ok' },
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
});
|
|
22
30
|
// @ts-expect-error — `run` host `$` is not available in hooks.save
|
|
23
31
|
$.enforceSchema;
|
|
24
32
|
// @ts-expect-error — `$emit` is only on `run` `this`, not hooks
|
|
@@ -50,4 +58,4 @@ const _legacyTopLevelRun = (0, index_1.defineSignal)({
|
|
|
50
58
|
},
|
|
51
59
|
});
|
|
52
60
|
void _legacyTopLevelRun;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXNpZ25hbC1ob29rLXRoaXMudGVzdC1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlZmluZS1zaWduYWwtaG9vay10aGlzLnRlc3QtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztHQUVHO0FBQ0gsbUNBS2lCO0FBRWpCLE1BQU0sUUFBUSxHQUFHLElBQUEsb0JBQVksRUFBQztJQUMxQixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRTtRQUNILGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtRQUMzQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUM3RCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7S0FDaEQ7SUFDRCxLQUFLLEVBQUU7UUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1osTUFBTSxNQUFNLEdBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNsQyxLQUFLLE1BQU0sQ0FBQztZQUNaLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztnQkFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN4QixNQUFNLEVBQUUsR0FBRzthQUNkLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztnQkFDakMsT0FBTyxFQUFFO29CQUNMO3dCQUNJLElBQUksRUFBRSxtQkFBbUI7d0JBQ3pCLE1BQU0sRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtxQkFDaEQ7aUJBQ0o7YUFDSixDQUFDLENBQUM7WUFDSCxtRUFBbUU7WUFDbkUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNoQixnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLDhEQUE4RDtZQUM5RCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO0tBQ0o7SUFDRCxPQUFPLEVBQUU7UUFDTCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtZQUNsQixLQUFLLEtBQUssQ0FBQztZQUNYLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDaEIsZ0VBQWdFO1lBQ2hFLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDUCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUNKO0NBQ0osQ0FBQyxDQUFDO0FBT0gsTUFBTSxnQkFBZ0IsR0FBc0IsSUFBSSxDQUFDO0FBRWpELE1BQU0sc0JBQXNCLEdBQXNCLElBQUksQ0FBQztBQUt2RCxNQUFNLGVBQWUsR0FBcUIsSUFBSSxDQUFDO0FBRS9DLHVFQUF1RTtBQUN2RSxNQUFNLGtCQUFrQixHQUFHLElBQUEsb0JBQVksRUFBQztJQUNwQyxJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7UUFDbEIsS0FBSyxLQUFLLENBQUM7UUFDWCxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxLQUFLLGtCQUFrQixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-signal-ingress.test-d.d.ts","sourceRoot":"","sources":["../src/define-signal-ingress.test-d.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Compile-only checks for static `defineSignal().ingress` declarations.
|
|
5
|
+
*/
|
|
6
|
+
const index_1 = require("./index");
|
|
7
|
+
const _staticIngressSignal = (0, index_1.defineSignal)({
|
|
8
|
+
type: 'signal',
|
|
9
|
+
app: 'http',
|
|
10
|
+
key: 'new-requests',
|
|
11
|
+
name: 'New Requests',
|
|
12
|
+
ingress: {
|
|
13
|
+
filters: [
|
|
14
|
+
{
|
|
15
|
+
type: 'verify_auth',
|
|
16
|
+
config: {
|
|
17
|
+
kind: 'simple',
|
|
18
|
+
extract: { from: 'header', name: 'Authorization', scheme: 'Bearer' },
|
|
19
|
+
simpleToken: 'token',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
{ type: 'http_new_requests' },
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
methods: {
|
|
26
|
+
async run() {
|
|
27
|
+
return this.ingress.filters;
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
hooks: {
|
|
31
|
+
async save({ $ }) {
|
|
32
|
+
await $.http.configureIngressFilters({
|
|
33
|
+
filters: this.ingress.filters,
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
(0, index_1.defineSignal)({
|
|
39
|
+
type: 'signal',
|
|
40
|
+
ingress: {
|
|
41
|
+
filters: [
|
|
42
|
+
// @ts-expect-error unknown ingress filter types are rejected
|
|
43
|
+
{ type: 'not_a_real_filter' },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
async run() {
|
|
48
|
+
return null;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXNpZ25hbC1pbmdyZXNzLnRlc3QtZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbmUtc2lnbmFsLWluZ3Jlc3MudGVzdC1kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7O0dBRUc7QUFDSCxtQ0FBdUM7QUFFdkMsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLG9CQUFZLEVBQUM7SUFDdEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxHQUFHLEVBQUUsTUFBTTtJQUNYLEdBQUcsRUFBRSxjQUFjO0lBQ25CLElBQUksRUFBRSxjQUFjO0lBQ3BCLE9BQU8sRUFBRTtRQUNMLE9BQU8sRUFBRTtZQUNMO2dCQUNJLElBQUksRUFBRSxhQUFhO2dCQUNuQixNQUFNLEVBQUU7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7b0JBQ3BFLFdBQVcsRUFBRSxPQUFPO2lCQUN2QjthQUNKO1lBQ0QsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7U0FDaEM7S0FDSjtJQUNELE9BQU8sRUFBRTtRQUNMLEtBQUssQ0FBQyxHQUFHO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBUSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDO0tBQ0o7SUFDRCxLQUFLLEVBQUU7UUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1osTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQVEsQ0FBQyxPQUFPO2FBQ2pDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSjtDQUNKLENBQUMsQ0FBQztBQUVILElBQUEsb0JBQVksRUFBQztJQUNULElBQUksRUFBRSxRQUFRO0lBQ2QsT0FBTyxFQUFFO1FBQ0wsT0FBTyxFQUFFO1lBQ0wsNkRBQTZEO1lBQzdELEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1NBQ2hDO0tBQ0o7SUFDRCxPQUFPLEVBQUU7UUFDTCxLQUFLLENBQUMsR0FBRztZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7S0FDSjtDQUNKLENBQUMsQ0FBQyJ9
|
package/dist/index.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ export type ElementIcon = {
|
|
|
58
58
|
} | string;
|
|
59
59
|
import type { ISlotInstanceDefinition, ISlotStaticInstanceDefinition, ISlotDefinition } from './slot-definition';
|
|
60
60
|
import { ConfigureResponseCachingOptions } from './http-request-cache';
|
|
61
|
+
import type { ConfigureIngressFiltersOptions, IngressFiltersPolicy } from './ingress-filters';
|
|
61
62
|
export type { ISlotInstanceDefinition, ISlotStaticInstanceDefinition, ISlotDefinition };
|
|
62
63
|
export { builtinActionSlotsRegistry, type BuiltinActionSlotsRegistry, type BuiltinActionSlotsFern, type InferBuiltinActionSlots, } from './builtin-action-slots-registry';
|
|
63
64
|
/** Full **`process-element` CLI** JSON shape (types only; materialize in **`@process.co/compatibility`** **`authoring-spec`**). */
|
|
@@ -67,6 +68,7 @@ export { ELEMENT_AUTHORING_CONTRACT_VERSION } from './authoring-contract-types';
|
|
|
67
68
|
export type { AuthoringPropWireKind, AuthoringPropContract, SlotBranchAuthoringContract, SlotsAuthoringContract, ActionAuthoringContract, SignalAuthoringContract, ElementAuthoringCatalogContract, ChildStepsPropertyForBranch, ActionPropKeys, ActionContractByFern, FernAuthoringShardFileV1, } from './authoring-contract-types';
|
|
68
69
|
export { PLATFORM_BOUND_LOADER_TYPE_PREFIXES, isPlatformBoundLoaderType, } from './platform-loader-type';
|
|
69
70
|
export { HTTP_REQUEST_CACHE_POLICY_KEY, REPLAY_BINDING_RANGE, REPLAY_META_RANGE, type BodyVaryProjection, type CacheVaryInfoWire, type ConfigureResponseCachingOptions, type DurationWire, type HttpRequestCacheMode, type HttpRequestCachePolicy, type HttpRequestCacheVary, } from './http-request-cache';
|
|
71
|
+
export { INGRESS_FILTERS_KEY, INGRESS_FILTER_TYPES, type ConfigureIngressFiltersOptions, type IngressAuthExtract, type IngressChallengeResponseFilter, type IngressEmitFilter, type IngressFilterDescriptor, type IngressFiltersPolicy, type IngressHMACVerifyFilter, type IngressHttpNewRequestsFilter, type IngressJSONPathMetaFilter, type IngressRespondThenEmitFilter, type IngressValidateJSONSchemaFilter, type IngressValidateZodFilter, type IngressVerifyAuthFilter, type IngressVerifyAuthKind, } from './ingress-filters';
|
|
70
72
|
export type ModuleDefinition = {
|
|
71
73
|
type: string;
|
|
72
74
|
app: string;
|
|
@@ -100,11 +102,17 @@ export type SignalEventShape = {
|
|
|
100
102
|
};
|
|
101
103
|
/**
|
|
102
104
|
* Persisted subset of `$.interface.schema` (HTTP triggers, etc.) used at execution.
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
105
|
+
*
|
|
106
|
+
* Design-time fields (`exportSchema`, `exportSchemaZodex`, `exportSchemaSource`,
|
|
107
|
+
* `compiledValidatorKey`) are authoring/typing metadata used by the editor for type
|
|
108
|
+
* inference, completion, and tooling. They never trigger runtime validation by themselves.
|
|
109
|
+
*
|
|
110
|
+
* Runtime Zod enforcement is controlled exclusively by {@link HttpInterfaceSchemaWire.validation}:
|
|
111
|
+
* when `validation === true` the runner loads the compiled ESM at
|
|
112
|
+
* {@link HttpInterfaceSchemaWire.compiledValidatorKey} (default export = Zod schema) and
|
|
113
|
+
* runs full `safeParse` on the payload via {@link SignalRunHostServices.enforceSchema}
|
|
114
|
+
* (see {@link setSignalEmitValidationHost}). When `validation` is `undefined` or `false`,
|
|
115
|
+
* the schema is treated as types-only and the value is passed through unchanged.
|
|
108
116
|
*/
|
|
109
117
|
export type HttpInterfaceSchemaWire = {
|
|
110
118
|
/**
|
|
@@ -172,7 +180,22 @@ export type SignalHookHostContext = {
|
|
|
172
180
|
/** Host `params.$` during **`hooks.save`**. */
|
|
173
181
|
export type SignalSaveHookHostServices = SignalHookHostContext & {
|
|
174
182
|
http: {
|
|
183
|
+
/**
|
|
184
|
+
* Configure response caching for this signal.
|
|
185
|
+
* @param options - The options for configuring response caching.
|
|
186
|
+
* @returns A promise that resolves when the response caching is configured.
|
|
187
|
+
*/
|
|
175
188
|
configureResponseCaching: (options: ConfigureResponseCachingOptions) => Promise<void> | void;
|
|
189
|
+
/**
|
|
190
|
+
* Declare a Go-native ingress filter chain for this signal.
|
|
191
|
+
* The chain is validated at publish time and persisted onto the
|
|
192
|
+
* element row at `$ingressFilters`. The Go edge executes the filters
|
|
193
|
+
* in order **instead of** proxying back to Node.
|
|
194
|
+
*
|
|
195
|
+
* Omit (or call with an empty list) to fall back to the default
|
|
196
|
+
* `ext_proc` proxy.
|
|
197
|
+
*/
|
|
198
|
+
configureIngressFilters: (options: ConfigureIngressFiltersOptions) => Promise<void> | void;
|
|
176
199
|
};
|
|
177
200
|
};
|
|
178
201
|
/** @deprecated Use {@link SignalSaveHookHostServices} */
|
|
@@ -236,9 +259,13 @@ export type SignalEmitValidationHostBinding = Pick<SignalRunHostServices, 'enfor
|
|
|
236
259
|
*/
|
|
237
260
|
export declare function setSignalEmitValidationHost(host: SignalEmitValidationHostBinding | undefined): void;
|
|
238
261
|
/**
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
262
|
+
* Validation policy: `inputSchema.validation === true` is the sole switch that turns
|
|
263
|
+
* runtime Zod enforcement on. The presence of `compiledValidatorKey` /
|
|
264
|
+
* `exportSchemaSource` is authoring metadata for editor type inference and does not, by
|
|
265
|
+
* itself, cause runtime validation. When validation is on, this awaits the bound host's
|
|
266
|
+
* `enforceSchema` so the API runs the **compiled Zod** validator. Otherwise returns
|
|
267
|
+
* `value` unchanged.
|
|
268
|
+
*
|
|
242
269
|
* On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
|
|
243
270
|
* `http.respond` JSON body alongside any `requestStatus` you use).
|
|
244
271
|
* (see {@link setSignalEmitValidationHost}).
|
|
@@ -712,7 +739,8 @@ type HttpInterfacePropKeys<T> = T extends {
|
|
|
712
739
|
[K in keyof P as IsHttpInterfacePropDef<P[K]> extends true ? K : never]: true;
|
|
713
740
|
} : never;
|
|
714
741
|
/**
|
|
715
|
-
* `this` inside signal hooks: instance props minus
|
|
742
|
+
* `this` inside signal hooks: instance props/static metadata minus
|
|
743
|
+
* `$.interface.http` and `$emit`.
|
|
716
744
|
* Use `params.$.http.configureResponseCaching` in `save`.
|
|
717
745
|
*/
|
|
718
746
|
export type DeriveSignalHookInstance<T> = Omit<DeriveSignalInstance<T>, HttpInterfacePropKeys<T> | keyof EmitFunction>;
|
|
@@ -842,6 +870,15 @@ export type SignalHooksContextualDefinition = {
|
|
|
842
870
|
export type SignalHooksWithThis<T> = SignalHooksContextualDefinition & ThisType<DeriveSignalHookInstance<T>>;
|
|
843
871
|
/** Structural requirements for a signal module (used by tooling; prefer {@link defineSignal}). */
|
|
844
872
|
export type SignalDefinitionShape<T> = {
|
|
873
|
+
/**
|
|
874
|
+
* Static edge-ingress declaration authored on the element definition.
|
|
875
|
+
*
|
|
876
|
+
* During save/publish this public `ingress.filters` shape is materialized
|
|
877
|
+
* onto the element row as `$ingressFilters`. A `hooks.save` body may call
|
|
878
|
+
* `params.$.http.configureIngressFilters(...)` to replace the materialized
|
|
879
|
+
* chain when the final filter list depends on authored props.
|
|
880
|
+
*/
|
|
881
|
+
ingress?: IngressFiltersPolicy;
|
|
845
882
|
methods: Record<string, unknown> & {
|
|
846
883
|
run: (this: DeriveSignalInstance<T>, params: SignalRunOptions) => Promise<unknown>;
|
|
847
884
|
};
|
|
@@ -868,13 +905,25 @@ export type SignalMethodsLegacyTopLevelRun = {
|
|
|
868
905
|
};
|
|
869
906
|
/** Minimum shape for {@link defineSignal}. Prefer {@link SignalMethodsRun}. */
|
|
870
907
|
export type SignalMethods = SignalMethodsRun | SignalMethodsLegacyTopLevelRun;
|
|
908
|
+
/** Public static edge-ingress declaration accepted by {@link defineSignal}. */
|
|
909
|
+
export type SignalIngressDeclaration = IngressFiltersPolicy;
|
|
910
|
+
/** Optional static metadata accepted on every signal definition. */
|
|
911
|
+
export type SignalStaticMetadata = {
|
|
912
|
+
/**
|
|
913
|
+
* Static edge-ingress filter chain for this signal. The element definition
|
|
914
|
+
* uses `ingress.filters`; save/publish materializes it to the reserved row
|
|
915
|
+
* field `$ingressFilters`. Calling `configureIngressFilters` in `hooks.save`
|
|
916
|
+
* replaces this default chain completely.
|
|
917
|
+
*/
|
|
918
|
+
ingress?: SignalIngressDeclaration;
|
|
919
|
+
};
|
|
871
920
|
/** Contextual `this` for top-level and `methods.*` signal functions. */
|
|
872
921
|
export type SignalMethodsWithThis<T> = T & ThisType<DeriveSignalInstance<T>> & (T extends {
|
|
873
922
|
methods?: infer M extends Record<string, unknown>;
|
|
874
923
|
} ? {
|
|
875
924
|
methods: M & ThisType<DeriveSignalInstance<T>>;
|
|
876
925
|
} : {});
|
|
877
|
-
export declare function defineSignal<const T extends SignalMethods & Record<string, unknown>>(signal: SignalMethodsWithThis<T> & {
|
|
926
|
+
export declare function defineSignal<const T extends SignalMethods & SignalStaticMetadata & Record<string, unknown>>(signal: SignalMethodsWithThis<T> & {
|
|
878
927
|
hooks?: SignalHooksWithThis<T>;
|
|
879
928
|
}): T;
|
|
880
929
|
export type RunReturn<T> = T extends {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zodObjectToContainerExportJsonSchema = exports.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS = exports.DEFAULT_DEFER_HTTP_RESPONSE_MS = exports.PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER = exports.REPLAY_META_RANGE = exports.REPLAY_BINDING_RANGE = exports.HTTP_REQUEST_CACHE_POLICY_KEY = exports.isPlatformBoundLoaderType = exports.PLATFORM_BOUND_LOADER_TYPE_PREFIXES = exports.ELEMENT_AUTHORING_CONTRACT_VERSION = exports.builtinActionSlotsRegistry = void 0;
|
|
3
|
+
exports.zodObjectToContainerExportJsonSchema = exports.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS = exports.DEFAULT_DEFER_HTTP_RESPONSE_MS = exports.PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER = exports.INGRESS_FILTER_TYPES = exports.INGRESS_FILTERS_KEY = exports.REPLAY_META_RANGE = exports.REPLAY_BINDING_RANGE = exports.HTTP_REQUEST_CACHE_POLICY_KEY = exports.isPlatformBoundLoaderType = exports.PLATFORM_BOUND_LOADER_TYPE_PREFIXES = exports.ELEMENT_AUTHORING_CONTRACT_VERSION = exports.builtinActionSlotsRegistry = void 0;
|
|
4
4
|
exports.resolveSignalHookIsDraft = resolveSignalHookIsDraft;
|
|
5
5
|
exports.setSignalEmitValidationHost = setSignalEmitValidationHost;
|
|
6
6
|
exports.validateEmitPayload = validateEmitPayload;
|
|
@@ -19,6 +19,9 @@ var http_request_cache_1 = require("./http-request-cache");
|
|
|
19
19
|
Object.defineProperty(exports, "HTTP_REQUEST_CACHE_POLICY_KEY", { enumerable: true, get: function () { return http_request_cache_1.HTTP_REQUEST_CACHE_POLICY_KEY; } });
|
|
20
20
|
Object.defineProperty(exports, "REPLAY_BINDING_RANGE", { enumerable: true, get: function () { return http_request_cache_1.REPLAY_BINDING_RANGE; } });
|
|
21
21
|
Object.defineProperty(exports, "REPLAY_META_RANGE", { enumerable: true, get: function () { return http_request_cache_1.REPLAY_META_RANGE; } });
|
|
22
|
+
var ingress_filters_1 = require("./ingress-filters");
|
|
23
|
+
Object.defineProperty(exports, "INGRESS_FILTERS_KEY", { enumerable: true, get: function () { return ingress_filters_1.INGRESS_FILTERS_KEY; } });
|
|
24
|
+
Object.defineProperty(exports, "INGRESS_FILTER_TYPES", { enumerable: true, get: function () { return ingress_filters_1.INGRESS_FILTER_TYPES; } });
|
|
22
25
|
/** Resolve `$.isDraft` for hook invocations (explicit flag wins; else `executionContext === 'editor'`). */
|
|
23
26
|
function resolveSignalHookIsDraft(ctx) {
|
|
24
27
|
if (typeof ctx.isDraft === 'boolean') {
|
|
@@ -75,21 +78,19 @@ function validationIssuesFromUnknown(e) {
|
|
|
75
78
|
return out.length > 0 ? out : undefined;
|
|
76
79
|
}
|
|
77
80
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
+
* Validation policy: `inputSchema.validation === true` is the sole switch that turns
|
|
82
|
+
* runtime Zod enforcement on. The presence of `compiledValidatorKey` /
|
|
83
|
+
* `exportSchemaSource` is authoring metadata for editor type inference and does not, by
|
|
84
|
+
* itself, cause runtime validation. When validation is on, this awaits the bound host's
|
|
85
|
+
* `enforceSchema` so the API runs the **compiled Zod** validator. Otherwise returns
|
|
86
|
+
* `value` unchanged.
|
|
87
|
+
*
|
|
81
88
|
* On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
|
|
82
89
|
* `http.respond` JSON body alongside any `requestStatus` you use).
|
|
83
90
|
* (see {@link setSignalEmitValidationHost}).
|
|
84
91
|
*/
|
|
85
92
|
async function validateEmitPayload(inputSchema, value) {
|
|
86
|
-
|
|
87
|
-
typeof inputSchema.compiledValidatorKey === 'string' &&
|
|
88
|
-
inputSchema.compiledValidatorKey.length > 0;
|
|
89
|
-
if (inputSchema?.validation === false) {
|
|
90
|
-
return { ok: true, value: value };
|
|
91
|
-
}
|
|
92
|
-
if (!hasCompiled && inputSchema?.validation !== true) {
|
|
93
|
+
if (inputSchema?.validation !== true) {
|
|
93
94
|
return { ok: true, value: value };
|
|
94
95
|
}
|
|
95
96
|
const bound = getSignalEmitValidationHostBinding();
|
|
@@ -137,4 +138,4 @@ function defineSignal(signal) {
|
|
|
137
138
|
var zod_container_export_json_schema_1 = require("./zod-container-export-json-schema");
|
|
138
139
|
Object.defineProperty(exports, "ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS", { enumerable: true, get: function () { return zod_container_export_json_schema_1.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS; } });
|
|
139
140
|
Object.defineProperty(exports, "zodObjectToContainerExportJsonSchema", { enumerable: true, get: function () { return zod_container_export_json_schema_1.zodObjectToContainerExportJsonSchema; } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK1FBLDREQUtDO0FBbUVELGtFQVNDO0FBK0JELGtEQW9DQztBQW93QkQsOEJBRUM7QUF1Q0Qsb0NBSUM7QUE2R0Qsb0NBSUM7QUF6eUNELGlGQUt5QztBQUpyQywySUFBQSwwQkFBMEIsT0FBQTtBQWM5QixnSUFBZ0k7QUFDaEksdUVBQWdGO0FBQXZFLDhJQUFBLGtDQUFrQyxPQUFBO0FBZTNDLCtEQUdnQztBQUY1QiwySUFBQSxtQ0FBbUMsT0FBQTtBQUNuQyxpSUFBQSx5QkFBeUIsT0FBQTtBQUc3QiwyREFXOEI7QUFWMUIsbUlBQUEsNkJBQTZCLE9BQUE7QUFDN0IsMEhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsdUhBQUEsaUJBQWlCLE9BQUE7QUFVckIscURBaUIyQjtBQWhCdkIsc0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsdUhBQUEsb0JBQW9CLE9BQUE7QUErTHhCLDJHQUEyRztBQUMzRyxTQUFnQix3QkFBd0IsQ0FBQyxHQUFnQztJQUNyRSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDLGdCQUFnQixLQUFLLFFBQVEsQ0FBQztBQUM3QyxDQUFDO0FBb0JEOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLDZDQUE2QyxHQUFHLGVBQXdCLENBQUM7QUFXdEYsMEZBQTBGO0FBQzFGLE1BQU0sMkJBQTJCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0FBZXRGLFNBQVMsa0NBQWtDO0lBQ3ZDLE9BQVEsVUFBdUYsQ0FDM0YsMkJBQTJCLENBQzlCLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQiwyQkFBMkIsQ0FDdkMsSUFBaUQ7SUFFakQsTUFBTSxDQUFDLEdBQUcsVUFBc0YsQ0FBQztJQUNqRyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7U0FBTSxDQUFDO1FBQ0osQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsSUFBb0QsQ0FBQztJQUMxRixDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsMkJBQTJCLENBQUMsQ0FBVTtJQUMzQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNsRCxNQUFNLE1BQU0sR0FBSSxDQUEwQixDQUFDLE1BQU0sQ0FBQztJQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNwRSxNQUFNLEdBQUcsR0FBNEIsRUFBRSxDQUFDO0lBQ3hDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsU0FBUztRQUM5QyxNQUFNLENBQUMsR0FBRyxHQUE4QixDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNwRCxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQzVFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO1NBQ3ZELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM1QyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSSxLQUFLLFVBQVUsbUJBQW1CLENBQ3JDLFdBQWdELEVBQ2hELEtBQWM7SUFFZCxJQUFJLFdBQVcsRUFBRSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbkMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQVUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxrQ0FBa0MsRUFBRSxDQUFDO0lBQ25ELE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxhQUFhLENBQUM7SUFDckMsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPO1lBQ0gsRUFBRSxFQUFFLEtBQUs7WUFDVCxPQUFPLEVBQ0gscVBBQXFQO1NBQzVQLENBQUM7SUFDTixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUksV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBZ0UsQ0FBQztZQUMzRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbEQsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU07b0JBQ25CLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFpQyxFQUFFO29CQUNoRixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQVUsRUFBRSxDQUFDO1lBQzdDLENBQUM7UUFDTCxDQUFDO1FBQ0QsbUZBQW1GO1FBQ25GLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFRLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNULE1BQU0sT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxPQUFPLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwRixDQUFDO0FBQ0wsQ0FBQztBQTBGRCxxR0FBcUc7QUFDeEYsUUFBQSw4QkFBOEIsR0FBRyxNQUFNLENBQUM7QUF3cUJyRCx5REFBeUQ7QUFDekQsU0FBZ0IsU0FBUyxDQUF5QixHQUF1QztJQUNyRixPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUF1Q0QsU0FBZ0IsWUFBWSxDQUUxQixNQUFnQztJQUM5QixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBNkdELFNBQWdCLFlBQVksQ0FFMUIsTUFBcUU7SUFDbkUsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQVNELHVGQUc0QztBQUZ4Qyw4SkFBQSwwQ0FBMEMsT0FBQTtBQUMxQyx3SkFBQSxvQ0FBb0MsT0FBQSJ9
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook ingress filter chain — author-facing types.
|
|
3
|
+
*
|
|
4
|
+
* Authors declare a static Go-native filter chain with
|
|
5
|
+
* `defineSignal({ ingress: { filters } })`, and may call
|
|
6
|
+
* `params.$.http.configureIngressFilters(...)` from `hooks.save` to replace
|
|
7
|
+
* that default chain. The final chain runs at the edge **instead of**
|
|
8
|
+
* proxying the request back to Node. The chain is validated at publish time
|
|
9
|
+
* and persisted onto the element's stash row at {@link INGRESS_FILTERS_KEY}.
|
|
10
|
+
*
|
|
11
|
+
* The Go edge reads this list verbatim — no translation layer — and executes
|
|
12
|
+
* each filter in order. When the chain is absent the edge falls back to
|
|
13
|
+
* `ext_proc` (proxy back to the Node API).
|
|
14
|
+
*
|
|
15
|
+
* Style mirrors {@link ./http-request-cache.ts}: public authoring shape first,
|
|
16
|
+
* reserved `$` materialized row field at save/publish time.
|
|
17
|
+
*/
|
|
18
|
+
/** Where to read auth material from on the inbound HTTP request. */
|
|
19
|
+
export type IngressAuthExtract = {
|
|
20
|
+
from: 'header' | 'query' | 'cookie';
|
|
21
|
+
name: string;
|
|
22
|
+
/** Optional scheme prefix to strip (e.g. `'Bearer '`). */
|
|
23
|
+
scheme?: string;
|
|
24
|
+
};
|
|
25
|
+
export type IngressVerifyAuthKind = 'none' | 'simple' | 'platform' | 'external';
|
|
26
|
+
/**
|
|
27
|
+
* Verify inbound auth before any other filter runs.
|
|
28
|
+
* `kind: 'simple'` performs constant-time compare on the edge.
|
|
29
|
+
* Everything else delegates to the auth-check service.
|
|
30
|
+
*/
|
|
31
|
+
export type IngressVerifyAuthFilter = {
|
|
32
|
+
type: 'verify_auth';
|
|
33
|
+
config: {
|
|
34
|
+
kind: IngressVerifyAuthKind;
|
|
35
|
+
/** Element identity for audit / per-element auth policy lookup. */
|
|
36
|
+
elementId?: string;
|
|
37
|
+
elementVersion?: string;
|
|
38
|
+
extract: IngressAuthExtract;
|
|
39
|
+
/** Required when `kind: 'simple'`. Constant-time compared on the edge. */
|
|
40
|
+
simpleToken?: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Native Go implementation of `http::signal:new-requests`.
|
|
45
|
+
*
|
|
46
|
+
* This is a built-in filter for a specific element shape. The chain entry
|
|
47
|
+
* should usually be `{ type: 'http_new_requests' }`; the Go runtime reads
|
|
48
|
+
* authored fields such as `responseType`, `resBodyJSON`, `eventData`, and
|
|
49
|
+
* `resIncludeProcessTicket` from the published element row.
|
|
50
|
+
*/
|
|
51
|
+
export type IngressHttpNewRequestsFilter = {
|
|
52
|
+
type: 'http_new_requests';
|
|
53
|
+
config?: {
|
|
54
|
+
resStatusCode?: number;
|
|
55
|
+
resBody?: string;
|
|
56
|
+
resContentType?: string;
|
|
57
|
+
emitBodyOnly?: boolean;
|
|
58
|
+
eventData?: 'full' | 'body';
|
|
59
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
60
|
+
responseTimeout?: number;
|
|
61
|
+
includeProcessTicket?: boolean;
|
|
62
|
+
summary?: string;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
/** Validate the selected inbound payload against JSON Schema before emit. */
|
|
66
|
+
export type IngressValidateJSONSchemaFilter = {
|
|
67
|
+
type: 'validate_json_schema';
|
|
68
|
+
config: {
|
|
69
|
+
schema: Record<string, unknown>;
|
|
70
|
+
eventData?: 'full' | 'body';
|
|
71
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Validate the inbound payload against a Zod schema hosted on Node.
|
|
76
|
+
*
|
|
77
|
+
* The Go edge cannot evaluate Zod schemas natively (they are TypeScript
|
|
78
|
+
* runtime objects, not data), so this filter delegates to a Node
|
|
79
|
+
* "validate" microservice at `_internal/zod-validate/:schemaBuildId`.
|
|
80
|
+
* The schema is registered against `schemaBuildId` at element publish
|
|
81
|
+
* time; the edge calls it as a sidecar and reads back a structured
|
|
82
|
+
* result. Aligns with the envoy-style filter chain so we keep full Zod
|
|
83
|
+
* validation on the edge without porting the engine to Go.
|
|
84
|
+
*
|
|
85
|
+
* `failOpen=true` lets the chain continue when the validate endpoint is
|
|
86
|
+
* unreachable. Default is `false` (reject with 502 on outage).
|
|
87
|
+
*/
|
|
88
|
+
export type IngressValidateZodFilter = {
|
|
89
|
+
type: 'validate_zod';
|
|
90
|
+
config: {
|
|
91
|
+
/** Stable identity for the registered Zod schema. Required. */
|
|
92
|
+
schemaBuildId: string;
|
|
93
|
+
/** Optional friendly name used in error messages. */
|
|
94
|
+
schemaName?: string;
|
|
95
|
+
eventData?: 'full' | 'body';
|
|
96
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
97
|
+
/** Continue the chain when the validate endpoint cannot be reached. */
|
|
98
|
+
failOpen?: boolean;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Generic chain equivalent of a source calling `$emit`. Compound filters such
|
|
103
|
+
* as `http_new_requests` may emit directly instead of composing this filter.
|
|
104
|
+
*/
|
|
105
|
+
export type IngressEmitFilter = {
|
|
106
|
+
type: '$emit';
|
|
107
|
+
config: {
|
|
108
|
+
eventData?: 'full' | 'body';
|
|
109
|
+
emitBodyOnly?: boolean;
|
|
110
|
+
summary?: string;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Respond synchronously with a static body, then continue the chain so a
|
|
115
|
+
* later filter can emit. Used by webhooks that must ACK quickly.
|
|
116
|
+
*/
|
|
117
|
+
export type IngressRespondThenEmitFilter = {
|
|
118
|
+
type: 'respond_then_emit';
|
|
119
|
+
config: {
|
|
120
|
+
status?: number;
|
|
121
|
+
contentType?: string;
|
|
122
|
+
body?: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
/** Verify HMAC signatures (e.g. GitHub `X-Hub-Signature-256`). */
|
|
126
|
+
export type IngressHMACVerifyFilter = {
|
|
127
|
+
type: 'hmac_verify';
|
|
128
|
+
config: {
|
|
129
|
+
algorithm: 'sha1' | 'sha256' | 'sha512';
|
|
130
|
+
signatureHeader: string;
|
|
131
|
+
/** Optional prefix on the signature value (e.g. `'sha256='`). */
|
|
132
|
+
signaturePrefix?: string;
|
|
133
|
+
/** Secret material is resolved by the auth-check service. */
|
|
134
|
+
secretRef: string;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Echo a challenge value (Slack URL verification, Stripe Connect, etc.).
|
|
139
|
+
* If the inbound request includes the configured challenge, respond
|
|
140
|
+
* immediately without emitting.
|
|
141
|
+
*/
|
|
142
|
+
export type IngressChallengeResponseFilter = {
|
|
143
|
+
type: 'challenge_response';
|
|
144
|
+
config: {
|
|
145
|
+
from: 'body' | 'query' | 'header';
|
|
146
|
+
name: string;
|
|
147
|
+
responseTemplate?: string;
|
|
148
|
+
contentType?: string;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
/** Set context metadata derived from a JSON path on the request body. */
|
|
152
|
+
export type IngressJSONPathMetaFilter = {
|
|
153
|
+
type: 'jsonpath_meta';
|
|
154
|
+
config: {
|
|
155
|
+
path: string;
|
|
156
|
+
as: string;
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Discriminated union of supported ingress filters. Any new filter type
|
|
161
|
+
* must be added here AND registered on the Go edge — `validate-ingress-filters`
|
|
162
|
+
* rejects unknown types at publish time.
|
|
163
|
+
*/
|
|
164
|
+
export type IngressFilterDescriptor = IngressVerifyAuthFilter | IngressValidateJSONSchemaFilter | IngressValidateZodFilter | IngressEmitFilter | IngressHttpNewRequestsFilter | IngressRespondThenEmitFilter | IngressHMACVerifyFilter | IngressChallengeResponseFilter | IngressJSONPathMetaFilter;
|
|
165
|
+
/** Save-only override: hooks.save → `$.http.configureIngressFilters`. */
|
|
166
|
+
export type ConfigureIngressFiltersOptions = {
|
|
167
|
+
filters: IngressFilterDescriptor[];
|
|
168
|
+
};
|
|
169
|
+
/** Materialized at save → `elementData.$ingressFilters`. */
|
|
170
|
+
export type IngressFiltersPolicy = {
|
|
171
|
+
filters: IngressFilterDescriptor[];
|
|
172
|
+
};
|
|
173
|
+
export declare const INGRESS_FILTERS_KEY: "$ingressFilters";
|
|
174
|
+
/** Names accepted at publish time. Keep in sync with the Go filter registry. */
|
|
175
|
+
export declare const INGRESS_FILTER_TYPES: ReadonlyArray<IngressFilterDescriptor['type']>;
|
|
176
|
+
//# sourceMappingURL=ingress-filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingress-filters.d.ts","sourceRoot":"","sources":["../src/ingress-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Webhook ingress filter chain — author-facing types.
|
|
4
|
+
*
|
|
5
|
+
* Authors declare a static Go-native filter chain with
|
|
6
|
+
* `defineSignal({ ingress: { filters } })`, and may call
|
|
7
|
+
* `params.$.http.configureIngressFilters(...)` from `hooks.save` to replace
|
|
8
|
+
* that default chain. The final chain runs at the edge **instead of**
|
|
9
|
+
* proxying the request back to Node. The chain is validated at publish time
|
|
10
|
+
* and persisted onto the element's stash row at {@link INGRESS_FILTERS_KEY}.
|
|
11
|
+
*
|
|
12
|
+
* The Go edge reads this list verbatim — no translation layer — and executes
|
|
13
|
+
* each filter in order. When the chain is absent the edge falls back to
|
|
14
|
+
* `ext_proc` (proxy back to the Node API).
|
|
15
|
+
*
|
|
16
|
+
* Style mirrors {@link ./http-request-cache.ts}: public authoring shape first,
|
|
17
|
+
* reserved `$` materialized row field at save/publish time.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.INGRESS_FILTER_TYPES = exports.INGRESS_FILTERS_KEY = void 0;
|
|
21
|
+
exports.INGRESS_FILTERS_KEY = '$ingressFilters';
|
|
22
|
+
/** Names accepted at publish time. Keep in sync with the Go filter registry. */
|
|
23
|
+
exports.INGRESS_FILTER_TYPES = [
|
|
24
|
+
'verify_auth',
|
|
25
|
+
'validate_json_schema',
|
|
26
|
+
'validate_zod',
|
|
27
|
+
'$emit',
|
|
28
|
+
'http_new_requests',
|
|
29
|
+
'respond_then_emit',
|
|
30
|
+
'hmac_verify',
|
|
31
|
+
'challenge_response',
|
|
32
|
+
'jsonpath_meta',
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luZ3Jlc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7OztBQW9MVSxRQUFBLG1CQUFtQixHQUFHLGlCQUEwQixDQUFDO0FBRTlELGdGQUFnRjtBQUNuRSxRQUFBLG9CQUFvQixHQUFtRDtJQUNoRixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxPQUFPO0lBQ1AsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDVCxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -23,6 +23,14 @@ const _webhook = defineSignal({
|
|
|
23
23
|
maxAge: this.cacheMaxAge,
|
|
24
24
|
varyBy: '*',
|
|
25
25
|
});
|
|
26
|
+
await $.http.configureIngressFilters({
|
|
27
|
+
filters: [
|
|
28
|
+
{
|
|
29
|
+
type: 'http_new_requests',
|
|
30
|
+
config: { resStatusCode: 200, resBody: 'ok' },
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
});
|
|
26
34
|
// @ts-expect-error — `run` host `$` is not available in hooks.save
|
|
27
35
|
$.enforceSchema;
|
|
28
36
|
// @ts-expect-error — `$emit` is only on `run` `this`, not hooks
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compile-only checks for static `defineSignal().ingress` declarations.
|
|
3
|
+
*/
|
|
4
|
+
import { defineSignal } from './index';
|
|
5
|
+
|
|
6
|
+
const _staticIngressSignal = defineSignal({
|
|
7
|
+
type: 'signal',
|
|
8
|
+
app: 'http',
|
|
9
|
+
key: 'new-requests',
|
|
10
|
+
name: 'New Requests',
|
|
11
|
+
ingress: {
|
|
12
|
+
filters: [
|
|
13
|
+
{
|
|
14
|
+
type: 'verify_auth',
|
|
15
|
+
config: {
|
|
16
|
+
kind: 'simple',
|
|
17
|
+
extract: { from: 'header', name: 'Authorization', scheme: 'Bearer' },
|
|
18
|
+
simpleToken: 'token',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{ type: 'http_new_requests' },
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
methods: {
|
|
25
|
+
async run() {
|
|
26
|
+
return this.ingress!.filters;
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
hooks: {
|
|
30
|
+
async save({ $ }) {
|
|
31
|
+
await $.http.configureIngressFilters({
|
|
32
|
+
filters: this.ingress!.filters,
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
defineSignal({
|
|
39
|
+
type: 'signal',
|
|
40
|
+
ingress: {
|
|
41
|
+
filters: [
|
|
42
|
+
// @ts-expect-error unknown ingress filter types are rejected
|
|
43
|
+
{ type: 'not_a_real_filter' },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
async run() {
|
|
48
|
+
return null;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type {
|
|
|
22
22
|
ISlotDefinition,
|
|
23
23
|
} from './slot-definition';
|
|
24
24
|
import { ConfigureResponseCachingOptions } from './http-request-cache';
|
|
25
|
+
import type { ConfigureIngressFiltersOptions, IngressFiltersPolicy } from './ingress-filters';
|
|
25
26
|
|
|
26
27
|
export type { ISlotInstanceDefinition, ISlotStaticInstanceDefinition, ISlotDefinition };
|
|
27
28
|
|
|
@@ -74,6 +75,25 @@ export {
|
|
|
74
75
|
type HttpRequestCacheVary,
|
|
75
76
|
} from './http-request-cache';
|
|
76
77
|
|
|
78
|
+
export {
|
|
79
|
+
INGRESS_FILTERS_KEY,
|
|
80
|
+
INGRESS_FILTER_TYPES,
|
|
81
|
+
type ConfigureIngressFiltersOptions,
|
|
82
|
+
type IngressAuthExtract,
|
|
83
|
+
type IngressChallengeResponseFilter,
|
|
84
|
+
type IngressEmitFilter,
|
|
85
|
+
type IngressFilterDescriptor,
|
|
86
|
+
type IngressFiltersPolicy,
|
|
87
|
+
type IngressHMACVerifyFilter,
|
|
88
|
+
type IngressHttpNewRequestsFilter,
|
|
89
|
+
type IngressJSONPathMetaFilter,
|
|
90
|
+
type IngressRespondThenEmitFilter,
|
|
91
|
+
type IngressValidateJSONSchemaFilter,
|
|
92
|
+
type IngressValidateZodFilter,
|
|
93
|
+
type IngressVerifyAuthFilter,
|
|
94
|
+
type IngressVerifyAuthKind,
|
|
95
|
+
} from './ingress-filters';
|
|
96
|
+
|
|
77
97
|
// Base types for module definitions
|
|
78
98
|
export type ModuleDefinition = {
|
|
79
99
|
type: string;
|
|
@@ -120,11 +140,17 @@ export type SignalEventShape = {
|
|
|
120
140
|
|
|
121
141
|
/**
|
|
122
142
|
* Persisted subset of `$.interface.schema` (HTTP triggers, etc.) used at execution.
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
143
|
+
*
|
|
144
|
+
* Design-time fields (`exportSchema`, `exportSchemaZodex`, `exportSchemaSource`,
|
|
145
|
+
* `compiledValidatorKey`) are authoring/typing metadata used by the editor for type
|
|
146
|
+
* inference, completion, and tooling. They never trigger runtime validation by themselves.
|
|
147
|
+
*
|
|
148
|
+
* Runtime Zod enforcement is controlled exclusively by {@link HttpInterfaceSchemaWire.validation}:
|
|
149
|
+
* when `validation === true` the runner loads the compiled ESM at
|
|
150
|
+
* {@link HttpInterfaceSchemaWire.compiledValidatorKey} (default export = Zod schema) and
|
|
151
|
+
* runs full `safeParse` on the payload via {@link SignalRunHostServices.enforceSchema}
|
|
152
|
+
* (see {@link setSignalEmitValidationHost}). When `validation` is `undefined` or `false`,
|
|
153
|
+
* the schema is treated as types-only and the value is passed through unchanged.
|
|
128
154
|
*/
|
|
129
155
|
export type HttpInterfaceSchemaWire = {
|
|
130
156
|
/**
|
|
@@ -203,10 +229,30 @@ export type SignalHookHostContext = {
|
|
|
203
229
|
/** Host `params.$` during **`hooks.save`**. */
|
|
204
230
|
export type SignalSaveHookHostServices = SignalHookHostContext & {
|
|
205
231
|
http: {
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Configure response caching for this signal.
|
|
235
|
+
* @param options - The options for configuring response caching.
|
|
236
|
+
* @returns A promise that resolves when the response caching is configured.
|
|
237
|
+
*/
|
|
206
238
|
configureResponseCaching: (
|
|
207
239
|
options: ConfigureResponseCachingOptions,
|
|
208
240
|
) => Promise<void> | void;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Declare a Go-native ingress filter chain for this signal.
|
|
244
|
+
* The chain is validated at publish time and persisted onto the
|
|
245
|
+
* element row at `$ingressFilters`. The Go edge executes the filters
|
|
246
|
+
* in order **instead of** proxying back to Node.
|
|
247
|
+
*
|
|
248
|
+
* Omit (or call with an empty list) to fall back to the default
|
|
249
|
+
* `ext_proc` proxy.
|
|
250
|
+
*/
|
|
251
|
+
configureIngressFilters: (
|
|
252
|
+
options: ConfigureIngressFiltersOptions,
|
|
253
|
+
) => Promise<void> | void;
|
|
209
254
|
};
|
|
255
|
+
|
|
210
256
|
};
|
|
211
257
|
|
|
212
258
|
/** @deprecated Use {@link SignalSaveHookHostServices} */
|
|
@@ -324,9 +370,13 @@ function validationIssuesFromUnknown(e: unknown): SchemaValidationIssue[] | unde
|
|
|
324
370
|
}
|
|
325
371
|
|
|
326
372
|
/**
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
373
|
+
* Validation policy: `inputSchema.validation === true` is the sole switch that turns
|
|
374
|
+
* runtime Zod enforcement on. The presence of `compiledValidatorKey` /
|
|
375
|
+
* `exportSchemaSource` is authoring metadata for editor type inference and does not, by
|
|
376
|
+
* itself, cause runtime validation. When validation is on, this awaits the bound host's
|
|
377
|
+
* `enforceSchema` so the API runs the **compiled Zod** validator. Otherwise returns
|
|
378
|
+
* `value` unchanged.
|
|
379
|
+
*
|
|
330
380
|
* On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
|
|
331
381
|
* `http.respond` JSON body alongside any `requestStatus` you use).
|
|
332
382
|
* (see {@link setSignalEmitValidationHost}).
|
|
@@ -335,14 +385,7 @@ export async function validateEmitPayload<T>(
|
|
|
335
385
|
inputSchema: HttpInterfaceSchemaWire | undefined,
|
|
336
386
|
value: unknown,
|
|
337
387
|
): Promise<ValidateEmitPayloadResult<T>> {
|
|
338
|
-
|
|
339
|
-
inputSchema &&
|
|
340
|
-
typeof inputSchema.compiledValidatorKey === 'string' &&
|
|
341
|
-
inputSchema.compiledValidatorKey.length > 0;
|
|
342
|
-
if (inputSchema?.validation === false) {
|
|
343
|
-
return { ok: true, value: value as T };
|
|
344
|
-
}
|
|
345
|
-
if (!hasCompiled && inputSchema?.validation !== true) {
|
|
388
|
+
if (inputSchema?.validation !== true) {
|
|
346
389
|
return { ok: true, value: value as T };
|
|
347
390
|
}
|
|
348
391
|
const bound = getSignalEmitValidationHostBinding();
|
|
@@ -1028,7 +1071,8 @@ type HttpInterfacePropKeys<T> =
|
|
|
1028
1071
|
: never;
|
|
1029
1072
|
|
|
1030
1073
|
/**
|
|
1031
|
-
* `this` inside signal hooks: instance props minus
|
|
1074
|
+
* `this` inside signal hooks: instance props/static metadata minus
|
|
1075
|
+
* `$.interface.http` and `$emit`.
|
|
1032
1076
|
* Use `params.$.http.configureResponseCaching` in `save`.
|
|
1033
1077
|
*/
|
|
1034
1078
|
export type DeriveSignalHookInstance<T> = Omit<
|
|
@@ -1240,6 +1284,15 @@ export type SignalHooksWithThis<T> = SignalHooksContextualDefinition &
|
|
|
1240
1284
|
|
|
1241
1285
|
/** Structural requirements for a signal module (used by tooling; prefer {@link defineSignal}). */
|
|
1242
1286
|
export type SignalDefinitionShape<T> = {
|
|
1287
|
+
/**
|
|
1288
|
+
* Static edge-ingress declaration authored on the element definition.
|
|
1289
|
+
*
|
|
1290
|
+
* During save/publish this public `ingress.filters` shape is materialized
|
|
1291
|
+
* onto the element row as `$ingressFilters`. A `hooks.save` body may call
|
|
1292
|
+
* `params.$.http.configureIngressFilters(...)` to replace the materialized
|
|
1293
|
+
* chain when the final filter list depends on authored props.
|
|
1294
|
+
*/
|
|
1295
|
+
ingress?: IngressFiltersPolicy;
|
|
1243
1296
|
methods: Record<string, unknown> & {
|
|
1244
1297
|
run: (this: DeriveSignalInstance<T>, params: SignalRunOptions) => Promise<unknown>;
|
|
1245
1298
|
};
|
|
@@ -1269,6 +1322,20 @@ export type SignalMethodsLegacyTopLevelRun = {
|
|
|
1269
1322
|
/** Minimum shape for {@link defineSignal}. Prefer {@link SignalMethodsRun}. */
|
|
1270
1323
|
export type SignalMethods = SignalMethodsRun | SignalMethodsLegacyTopLevelRun;
|
|
1271
1324
|
|
|
1325
|
+
/** Public static edge-ingress declaration accepted by {@link defineSignal}. */
|
|
1326
|
+
export type SignalIngressDeclaration = IngressFiltersPolicy;
|
|
1327
|
+
|
|
1328
|
+
/** Optional static metadata accepted on every signal definition. */
|
|
1329
|
+
export type SignalStaticMetadata = {
|
|
1330
|
+
/**
|
|
1331
|
+
* Static edge-ingress filter chain for this signal. The element definition
|
|
1332
|
+
* uses `ingress.filters`; save/publish materializes it to the reserved row
|
|
1333
|
+
* field `$ingressFilters`. Calling `configureIngressFilters` in `hooks.save`
|
|
1334
|
+
* replaces this default chain completely.
|
|
1335
|
+
*/
|
|
1336
|
+
ingress?: SignalIngressDeclaration;
|
|
1337
|
+
};
|
|
1338
|
+
|
|
1272
1339
|
/** Contextual `this` for top-level and `methods.*` signal functions. */
|
|
1273
1340
|
export type SignalMethodsWithThis<T> = T &
|
|
1274
1341
|
ThisType<DeriveSignalInstance<T>> &
|
|
@@ -1277,7 +1344,7 @@ export type SignalMethodsWithThis<T> = T &
|
|
|
1277
1344
|
: {});
|
|
1278
1345
|
|
|
1279
1346
|
export function defineSignal<
|
|
1280
|
-
const T extends SignalMethods & Record<string, unknown>,
|
|
1347
|
+
const T extends SignalMethods & SignalStaticMetadata & Record<string, unknown>,
|
|
1281
1348
|
>(signal: SignalMethodsWithThis<T> & { hooks?: SignalHooksWithThis<T> }): T {
|
|
1282
1349
|
return signal;
|
|
1283
1350
|
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook ingress filter chain — author-facing types.
|
|
3
|
+
*
|
|
4
|
+
* Authors declare a static Go-native filter chain with
|
|
5
|
+
* `defineSignal({ ingress: { filters } })`, and may call
|
|
6
|
+
* `params.$.http.configureIngressFilters(...)` from `hooks.save` to replace
|
|
7
|
+
* that default chain. The final chain runs at the edge **instead of**
|
|
8
|
+
* proxying the request back to Node. The chain is validated at publish time
|
|
9
|
+
* and persisted onto the element's stash row at {@link INGRESS_FILTERS_KEY}.
|
|
10
|
+
*
|
|
11
|
+
* The Go edge reads this list verbatim — no translation layer — and executes
|
|
12
|
+
* each filter in order. When the chain is absent the edge falls back to
|
|
13
|
+
* `ext_proc` (proxy back to the Node API).
|
|
14
|
+
*
|
|
15
|
+
* Style mirrors {@link ./http-request-cache.ts}: public authoring shape first,
|
|
16
|
+
* reserved `$` materialized row field at save/publish time.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** Where to read auth material from on the inbound HTTP request. */
|
|
20
|
+
export type IngressAuthExtract = {
|
|
21
|
+
from: 'header' | 'query' | 'cookie';
|
|
22
|
+
name: string;
|
|
23
|
+
/** Optional scheme prefix to strip (e.g. `'Bearer '`). */
|
|
24
|
+
scheme?: string;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type IngressVerifyAuthKind = 'none' | 'simple' | 'platform' | 'external';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Verify inbound auth before any other filter runs.
|
|
31
|
+
* `kind: 'simple'` performs constant-time compare on the edge.
|
|
32
|
+
* Everything else delegates to the auth-check service.
|
|
33
|
+
*/
|
|
34
|
+
export type IngressVerifyAuthFilter = {
|
|
35
|
+
type: 'verify_auth';
|
|
36
|
+
config: {
|
|
37
|
+
kind: IngressVerifyAuthKind;
|
|
38
|
+
/** Element identity for audit / per-element auth policy lookup. */
|
|
39
|
+
elementId?: string;
|
|
40
|
+
elementVersion?: string;
|
|
41
|
+
extract: IngressAuthExtract;
|
|
42
|
+
/** Required when `kind: 'simple'`. Constant-time compared on the edge. */
|
|
43
|
+
simpleToken?: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Native Go implementation of `http::signal:new-requests`.
|
|
49
|
+
*
|
|
50
|
+
* This is a built-in filter for a specific element shape. The chain entry
|
|
51
|
+
* should usually be `{ type: 'http_new_requests' }`; the Go runtime reads
|
|
52
|
+
* authored fields such as `responseType`, `resBodyJSON`, `eventData`, and
|
|
53
|
+
* `resIncludeProcessTicket` from the published element row.
|
|
54
|
+
*/
|
|
55
|
+
export type IngressHttpNewRequestsFilter = {
|
|
56
|
+
type: 'http_new_requests';
|
|
57
|
+
config?: {
|
|
58
|
+
resStatusCode?: number;
|
|
59
|
+
resBody?: string;
|
|
60
|
+
resContentType?: string;
|
|
61
|
+
emitBodyOnly?: boolean;
|
|
62
|
+
eventData?: 'full' | 'body';
|
|
63
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
64
|
+
responseTimeout?: number;
|
|
65
|
+
includeProcessTicket?: boolean;
|
|
66
|
+
summary?: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/** Validate the selected inbound payload against JSON Schema before emit. */
|
|
71
|
+
export type IngressValidateJSONSchemaFilter = {
|
|
72
|
+
type: 'validate_json_schema';
|
|
73
|
+
config: {
|
|
74
|
+
schema: Record<string, unknown>;
|
|
75
|
+
eventData?: 'full' | 'body';
|
|
76
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Validate the inbound payload against a Zod schema hosted on Node.
|
|
82
|
+
*
|
|
83
|
+
* The Go edge cannot evaluate Zod schemas natively (they are TypeScript
|
|
84
|
+
* runtime objects, not data), so this filter delegates to a Node
|
|
85
|
+
* "validate" microservice at `_internal/zod-validate/:schemaBuildId`.
|
|
86
|
+
* The schema is registered against `schemaBuildId` at element publish
|
|
87
|
+
* time; the edge calls it as a sidecar and reads back a structured
|
|
88
|
+
* result. Aligns with the envoy-style filter chain so we keep full Zod
|
|
89
|
+
* validation on the edge without porting the engine to Go.
|
|
90
|
+
*
|
|
91
|
+
* `failOpen=true` lets the chain continue when the validate endpoint is
|
|
92
|
+
* unreachable. Default is `false` (reject with 502 on outage).
|
|
93
|
+
*/
|
|
94
|
+
export type IngressValidateZodFilter = {
|
|
95
|
+
type: 'validate_zod';
|
|
96
|
+
config: {
|
|
97
|
+
/** Stable identity for the registered Zod schema. Required. */
|
|
98
|
+
schemaBuildId: string;
|
|
99
|
+
/** Optional friendly name used in error messages. */
|
|
100
|
+
schemaName?: string;
|
|
101
|
+
eventData?: 'full' | 'body';
|
|
102
|
+
responseType?: 'OK' | 'NO_CONTENT' | 'STATIC' | 'CUSTOM' | string;
|
|
103
|
+
/** Continue the chain when the validate endpoint cannot be reached. */
|
|
104
|
+
failOpen?: boolean;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Generic chain equivalent of a source calling `$emit`. Compound filters such
|
|
110
|
+
* as `http_new_requests` may emit directly instead of composing this filter.
|
|
111
|
+
*/
|
|
112
|
+
export type IngressEmitFilter = {
|
|
113
|
+
type: '$emit';
|
|
114
|
+
config: {
|
|
115
|
+
eventData?: 'full' | 'body';
|
|
116
|
+
emitBodyOnly?: boolean;
|
|
117
|
+
summary?: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Respond synchronously with a static body, then continue the chain so a
|
|
123
|
+
* later filter can emit. Used by webhooks that must ACK quickly.
|
|
124
|
+
*/
|
|
125
|
+
export type IngressRespondThenEmitFilter = {
|
|
126
|
+
type: 'respond_then_emit';
|
|
127
|
+
config: {
|
|
128
|
+
status?: number;
|
|
129
|
+
contentType?: string;
|
|
130
|
+
body?: string;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
/** Verify HMAC signatures (e.g. GitHub `X-Hub-Signature-256`). */
|
|
135
|
+
export type IngressHMACVerifyFilter = {
|
|
136
|
+
type: 'hmac_verify';
|
|
137
|
+
config: {
|
|
138
|
+
algorithm: 'sha1' | 'sha256' | 'sha512';
|
|
139
|
+
signatureHeader: string;
|
|
140
|
+
/** Optional prefix on the signature value (e.g. `'sha256='`). */
|
|
141
|
+
signaturePrefix?: string;
|
|
142
|
+
/** Secret material is resolved by the auth-check service. */
|
|
143
|
+
secretRef: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Echo a challenge value (Slack URL verification, Stripe Connect, etc.).
|
|
149
|
+
* If the inbound request includes the configured challenge, respond
|
|
150
|
+
* immediately without emitting.
|
|
151
|
+
*/
|
|
152
|
+
export type IngressChallengeResponseFilter = {
|
|
153
|
+
type: 'challenge_response';
|
|
154
|
+
config: {
|
|
155
|
+
from: 'body' | 'query' | 'header';
|
|
156
|
+
name: string;
|
|
157
|
+
responseTemplate?: string;
|
|
158
|
+
contentType?: string;
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
/** Set context metadata derived from a JSON path on the request body. */
|
|
163
|
+
export type IngressJSONPathMetaFilter = {
|
|
164
|
+
type: 'jsonpath_meta';
|
|
165
|
+
config: {
|
|
166
|
+
path: string;
|
|
167
|
+
as: string;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Discriminated union of supported ingress filters. Any new filter type
|
|
173
|
+
* must be added here AND registered on the Go edge — `validate-ingress-filters`
|
|
174
|
+
* rejects unknown types at publish time.
|
|
175
|
+
*/
|
|
176
|
+
export type IngressFilterDescriptor =
|
|
177
|
+
| IngressVerifyAuthFilter
|
|
178
|
+
| IngressValidateJSONSchemaFilter
|
|
179
|
+
| IngressValidateZodFilter
|
|
180
|
+
| IngressEmitFilter
|
|
181
|
+
| IngressHttpNewRequestsFilter
|
|
182
|
+
| IngressRespondThenEmitFilter
|
|
183
|
+
| IngressHMACVerifyFilter
|
|
184
|
+
| IngressChallengeResponseFilter
|
|
185
|
+
| IngressJSONPathMetaFilter;
|
|
186
|
+
|
|
187
|
+
/** Save-only override: hooks.save → `$.http.configureIngressFilters`. */
|
|
188
|
+
export type ConfigureIngressFiltersOptions = {
|
|
189
|
+
filters: IngressFilterDescriptor[];
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
/** Materialized at save → `elementData.$ingressFilters`. */
|
|
193
|
+
export type IngressFiltersPolicy = {
|
|
194
|
+
filters: IngressFilterDescriptor[];
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
export const INGRESS_FILTERS_KEY = '$ingressFilters' as const;
|
|
198
|
+
|
|
199
|
+
/** Names accepted at publish time. Keep in sync with the Go filter registry. */
|
|
200
|
+
export const INGRESS_FILTER_TYPES: ReadonlyArray<IngressFilterDescriptor['type']> = [
|
|
201
|
+
'verify_auth',
|
|
202
|
+
'validate_json_schema',
|
|
203
|
+
'validate_zod',
|
|
204
|
+
'$emit',
|
|
205
|
+
'http_new_requests',
|
|
206
|
+
'respond_then_emit',
|
|
207
|
+
'hmac_verify',
|
|
208
|
+
'challenge_response',
|
|
209
|
+
'jsonpath_meta',
|
|
210
|
+
] as const;
|