@beignet/core 0.0.46 → 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +56 -23
  3. package/dist/providers/instrumentation.d.ts.map +1 -1
  4. package/dist/providers/instrumentation.js +14 -2
  5. package/dist/providers/instrumentation.js.map +1 -1
  6. package/dist/providers/metadata.d.ts +2 -0
  7. package/dist/providers/metadata.d.ts.map +1 -1
  8. package/dist/providers/metadata.js +78 -16
  9. package/dist/providers/metadata.js.map +1 -1
  10. package/dist/server/context.d.ts +7 -0
  11. package/dist/server/context.d.ts.map +1 -1
  12. package/dist/server/context.js.map +1 -1
  13. package/dist/server/hooks/logging.d.ts +3 -0
  14. package/dist/server/hooks/logging.d.ts.map +1 -1
  15. package/dist/server/hooks/logging.js +18 -7
  16. package/dist/server/hooks/logging.js.map +1 -1
  17. package/dist/server/hooks/rate-limit.d.ts +7 -7
  18. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  19. package/dist/server/hooks/rate-limit.js +15 -9
  20. package/dist/server/hooks/rate-limit.js.map +1 -1
  21. package/dist/server/hooks/security.d.ts +4 -3
  22. package/dist/server/hooks/security.d.ts.map +1 -1
  23. package/dist/server/hooks/security.js +5 -3
  24. package/dist/server/hooks/security.js.map +1 -1
  25. package/dist/server/http.d.ts +12 -0
  26. package/dist/server/http.d.ts.map +1 -1
  27. package/dist/server/request-executor.d.ts +5 -2
  28. package/dist/server/request-executor.d.ts.map +1 -1
  29. package/dist/server/request-executor.js +21 -2
  30. package/dist/server/request-executor.js.map +1 -1
  31. package/dist/server/server-context.d.ts +2 -1
  32. package/dist/server/server-context.d.ts.map +1 -1
  33. package/dist/server/server-context.js +2 -1
  34. package/dist/server/server-context.js.map +1 -1
  35. package/dist/server/server.d.ts +9 -0
  36. package/dist/server/server.d.ts.map +1 -1
  37. package/dist/server/server.js +14 -2
  38. package/dist/server/server.js.map +1 -1
  39. package/dist/server/trusted-proxy-internal.d.ts +4 -0
  40. package/dist/server/trusted-proxy-internal.d.ts.map +1 -0
  41. package/dist/server/trusted-proxy-internal.js +27 -0
  42. package/dist/server/trusted-proxy-internal.js.map +1 -0
  43. package/dist/server/trusted-proxy.d.ts +11 -6
  44. package/dist/server/trusted-proxy.d.ts.map +1 -1
  45. package/dist/server/trusted-proxy.js +6 -10
  46. package/dist/server/trusted-proxy.js.map +1 -1
  47. package/package.json +1 -1
  48. package/skills/app-architecture/SKILL.md +5 -2
  49. package/src/providers/instrumentation.ts +15 -2
  50. package/src/providers/metadata.ts +132 -16
  51. package/src/server/context.ts +7 -0
  52. package/src/server/hooks/logging.ts +35 -7
  53. package/src/server/hooks/rate-limit.ts +25 -15
  54. package/src/server/hooks/security.ts +11 -7
  55. package/src/server/http.ts +18 -1
  56. package/src/server/request-executor.ts +43 -2
  57. package/src/server/server-context.ts +2 -1
  58. package/src/server/server.ts +30 -1
  59. package/src/server/trusted-proxy-internal.ts +41 -0
  60. package/src/server/trusted-proxy.ts +20 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @beignet/core
2
2
 
3
+ ## 0.0.48
4
+
5
+ ### Patch Changes
6
+
7
+ - 2391a09: Harden provider failure semantics with isolated asynchronous instrumentation,
8
+ level-aware Pino metadata redaction and owned-transport shutdown, bounded
9
+ Upstash timeout policy and readiness, and validated Vercel Blob token/OIDC
10
+ credential alternatives.
11
+
12
+ ## 0.0.47
13
+
14
+ ### Patch Changes
15
+
16
+ - 3847e21: Resolve trusted request metadata once per request from a server-level policy and share it with context factories, security hooks, rate limiting, and logging observers.
17
+
3
18
  ## 0.0.46
4
19
 
5
20
  ### Patch Changes
package/README.md CHANGED
@@ -827,6 +827,20 @@ without importing provider implementation code.
827
827
  that `beignet doctor --strict` should require in app config. `requiredTables`
828
828
  lists database tables the provider always needs when it is installed and used;
829
829
  doctor checks app schema, migrations, and database setup files for those names.
830
+ When a provider supports mutually exclusive credential paths, use
831
+ `requiredEnvAlternatives` instead of `requiredEnv`. Each nested array is one
832
+ complete configuration; doctor, provider audit, and preflight accept the
833
+ provider when any one is complete:
834
+
835
+ ```json
836
+ {
837
+ "env": ["API_TOKEN", "OIDC_CLIENT_ID", "OIDC_TOKEN"],
838
+ "requiredEnvAlternatives": [
839
+ ["API_TOKEN"],
840
+ ["OIDC_CLIENT_ID", "OIDC_TOKEN"]
841
+ ]
842
+ }
843
+ ```
830
844
 
831
845
  `registration.required: true` marks providers that apps must register in
832
846
  `server/providers.ts`; doctor reports a missing registration as a warning,
@@ -1541,7 +1555,9 @@ assertProviderInstrumentationEvent(providerEvents, {
1541
1555
 
1542
1556
  `createProviderInstrumentation(...)` adds `details.providerName` to custom and
1543
1557
  typed provider events, so tests and devtools can group provider work
1544
- consistently.
1558
+ consistently. Watcher checks, synchronous sink errors, and rejected
1559
+ asynchronous sink writes are isolated so observability cannot replace the
1560
+ provider operation's result or error.
1545
1561
 
1546
1562
  ### Pagination
1547
1563
 
@@ -1613,26 +1629,39 @@ the request lifecycle docs for context latency budgets.
1613
1629
 
1614
1630
  ### Trusted proxy request metadata
1615
1631
 
1616
- Beignet trusts no forwarding headers by default. Use
1617
- `resolveTrustedRequest(...)` when app code needs external request metadata
1618
- behind a platform edge or reverse proxy that strips or normalizes forwarding
1619
- headers before they reach application code:
1632
+ Beignet trusts no forwarding headers by default. Configure one server-level
1633
+ policy when the app always runs behind a platform edge or reverse proxy that
1634
+ strips or normalizes those headers:
1620
1635
 
1621
1636
  ```ts
1622
- import { resolveTrustedRequest } from "@beignet/core/server";
1623
-
1624
- const requestInfo = resolveTrustedRequest(req, {
1625
- clientIp: "x-forwarded-for-last",
1637
+ const server = await createServer({
1638
+ ports,
1639
+ trustedProxy: {
1640
+ clientIp: "x-forwarded-for-last",
1641
+ },
1642
+ context: ({ ports, requestId, requestInfo, trace }) => ({
1643
+ ports,
1644
+ requestId,
1645
+ requestInfo,
1646
+ ...trace,
1647
+ }),
1648
+ hooks: [
1649
+ createCsrfHooks(),
1650
+ createRateLimitHooks(),
1651
+ ],
1626
1652
  });
1627
-
1628
- requestInfo.origin; // "https://app.example.com"
1629
- requestInfo.clientIp; // resolved only when clientIp is configured
1630
1653
  ```
1631
1654
 
1632
- The same `trustedProxy` policy is accepted by `createRateLimitHooks(...)` for
1633
- IP-scoped keys and by `createCsrfHooks(...)` for comparing browser origins
1634
- against the external host and protocol. Configure it only when every request
1635
- passes through your trusted edge.
1655
+ The request context factory and every server-hook phase receive the same
1656
+ `requestInfo`, including the external URL, origin, protocol, host, and optional
1657
+ client IP. Store it on `AppContext` when routes or Server Components need it.
1658
+ `createRateLimitHooks(...)` and `createCsrfHooks(...)` consume the server policy
1659
+ automatically. Their hook-local `trustedProxy` options remain available when
1660
+ one hook deliberately needs a different policy.
1661
+
1662
+ `resolveTrustedRequest(...)` remains available for standalone adapters. Do not
1663
+ copy `clientIp` into logs or audit metadata unless the application explicitly
1664
+ needs that personal data and applies its retention policy.
1636
1665
 
1637
1666
  ### Rate limiting
1638
1667
 
@@ -1652,15 +1681,18 @@ const server = await createServer<AppContext, AppPorts>({
1652
1681
  - `global` and `ip` scopes run in `onRequest` before parsing and context
1653
1682
  creation; `user` scope runs in `beforeHandle` after route hooks have resolved
1654
1683
  identity and `ctx.actor` exists.
1655
- - `ip` scopes require an explicit `trustedProxy.clientIp`, `ipSource`, or
1684
+ - `ip` scopes require an explicit server-level `trustedProxy.clientIp`,
1685
+ hook-local `trustedProxy.clientIp`, `ipSource`, or
1656
1686
  custom `earlyKey`. The hook's `validate` phase fails `createServer(...)`
1657
1687
  startup when a registered contract declares an `ip`-scoped rate limit without
1658
1688
  one, and enforcement throws the same configuration error for contracts added
1659
1689
  later through `server.route(...)`. Prefer
1660
- `trustedProxy: { clientIp: "x-forwarded-for-last" }` behind a trusted proxy
1690
+ `createServer({ trustedProxy: { clientIp: "x-forwarded-for-last" } })`
1691
+ behind a trusted proxy
1661
1692
  that appends the socket address, `"x-forwarded-for-first"` when a trusted
1662
1693
  edge normalizes the header, or
1663
- `trustedProxy: { clientIp: "cf-connecting-ip" }` for platform headers.
1694
+ `createServer({ trustedProxy: { clientIp: "cf-connecting-ip" } })` for
1695
+ platform headers.
1664
1696
  - Pass `ipSource: "none"` to explicitly opt out of client-IP resolution:
1665
1697
  Beignet then trusts no forwarding headers and all `ip`-scoped traffic
1666
1698
  shares one `ip:unknown` bucket.
@@ -2042,7 +2074,6 @@ import { createCsrfHooks } from "@beignet/core/server";
2042
2074
 
2043
2075
  const csrf = createCsrfHooks({
2044
2076
  allowMissingOrigin: false,
2045
- trustedProxy: {},
2046
2077
  trustedOrigins: ["https://app.example.com"],
2047
2078
  token: {
2048
2079
  cookieName: "csrf",
@@ -2052,9 +2083,11 @@ const csrf = createCsrfHooks({
2052
2083
  });
2053
2084
  ```
2054
2085
 
2055
- Pass `trustedProxy: {}` only when Beignet should compare `Origin` or `Referer`
2056
- against the external `x-forwarded-host` and `x-forwarded-proto` values written
2057
- by your trusted edge.
2086
+ Set `trustedProxy: {}` on `createServer(...)` when Beignet should compare
2087
+ `Origin` or `Referer` against the external `x-forwarded-host` and
2088
+ `x-forwarded-proto` values written by your trusted edge. The CSRF hook uses
2089
+ that central policy unless its own `trustedProxy` option deliberately
2090
+ overrides it.
2058
2091
 
2059
2092
  ### Typed client errors
2060
2093
 
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,12 @@ export function createProviderInstrumentation(target, options) {
80
80
  return false;
81
81
  if (!watcher)
82
82
  return true;
83
- return port.isWatcherEnabled?.(watcher) ?? true;
83
+ try {
84
+ return port.isWatcherEnabled?.(watcher) ?? true;
85
+ }
86
+ catch {
87
+ return false;
88
+ }
84
89
  }
85
90
  function record(event) {
86
91
  if (!port)
@@ -102,7 +107,14 @@ export function createProviderInstrumentation(target, options) {
102
107
  return undefined;
103
108
  }
104
109
  try {
105
- return port.record(redacted);
110
+ const result = port.record(redacted);
111
+ if (result !== null &&
112
+ (typeof result === "object" || typeof result === "function") &&
113
+ "then" in result &&
114
+ typeof result.then === "function") {
115
+ return Promise.resolve(result).catch(() => undefined);
116
+ }
117
+ return result;
106
118
  }
107
119
  catch {
108
120
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export type ProviderPackageVariantMetadata = {
20
20
  displayName?: string;
21
21
  env?: readonly string[];
22
22
  requiredEnv?: readonly string[];
23
+ requiredEnvAlternatives?: readonly (readonly string[])[];
23
24
  requiredTables?: readonly string[];
24
25
  registration?: ProviderPackageRegistrationMetadata;
25
26
  };
@@ -29,6 +30,7 @@ export type ProviderPackageMetadata = {
29
30
  appPorts?: readonly ProviderPackagePortMetadata[];
30
31
  env?: readonly string[];
31
32
  requiredEnv?: readonly string[];
33
+ requiredEnvAlternatives?: readonly (readonly string[])[];
32
34
  requiredTables?: readonly string[];
33
35
  registration?: ProviderPackageRegistrationMetadata;
34
36
  variants?: readonly ProviderPackageVariantMetadata[];
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,mCAAmC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClD,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAC1C;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACpD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAA;CAAE,CAAC;AAExE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,kCAAkC,CA2GpC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,mCAAmC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClD,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAC1C;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACpD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAA;CAAE,CAAC;AAExE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,kCAAkC,CA4IpC"}
@@ -39,16 +39,22 @@ export function parseProviderPackageMetadata(input) {
39
39
  const requiredEnv = parseStringArray(input.requiredEnv, "beignet.provider.requiredEnv", issues);
40
40
  if (requiredEnv !== undefined) {
41
41
  metadata.requiredEnv = requiredEnv;
42
- const envSet = new Set(env ?? []);
43
- for (const envVar of requiredEnv) {
44
- if (!envSet.has(envVar)) {
45
- issues.push({
46
- path: "beignet.provider.requiredEnv",
47
- message: `${envVar} must also be listed in beignet.provider.env`,
48
- });
49
- }
42
+ validateRequiredEnvMembers(requiredEnv, env, "beignet.provider.requiredEnv", "beignet.provider.env", issues);
43
+ }
44
+ const requiredEnvAlternatives = parseStringArrayArray(input.requiredEnvAlternatives, "beignet.provider.requiredEnvAlternatives", issues);
45
+ if (requiredEnvAlternatives !== undefined) {
46
+ metadata.requiredEnvAlternatives = requiredEnvAlternatives;
47
+ for (const alternative of requiredEnvAlternatives) {
48
+ validateRequiredEnvMembers(alternative, env, "beignet.provider.requiredEnvAlternatives", "beignet.provider.env", issues);
50
49
  }
51
50
  }
51
+ if (input.requiredEnv !== undefined &&
52
+ input.requiredEnvAlternatives !== undefined) {
53
+ issues.push({
54
+ path: "beignet.provider.requiredEnvAlternatives",
55
+ message: "must not be set alongside beignet.provider.requiredEnv",
56
+ });
57
+ }
52
58
  const requiredTables = parseStringArray(input.requiredTables, "beignet.provider.requiredTables", issues);
53
59
  if (requiredTables !== undefined)
54
60
  metadata.requiredTables = requiredTables;
@@ -71,6 +77,12 @@ export function parseProviderPackageMetadata(input) {
71
77
  message: "must not be set when beignet.provider.variants is present; declare requiredEnv on each variant instead",
72
78
  });
73
79
  }
80
+ if (input.requiredEnvAlternatives !== undefined) {
81
+ issues.push({
82
+ path: "beignet.provider.requiredEnvAlternatives",
83
+ message: "must not be set when beignet.provider.variants is present; declare requiredEnvAlternatives on each variant instead",
84
+ });
85
+ }
74
86
  if (input.registration !== undefined) {
75
87
  issues.push({
76
88
  path: "beignet.provider.registration",
@@ -109,6 +121,48 @@ function parseStringArray(value, path, issues) {
109
121
  }
110
122
  return parsed;
111
123
  }
124
+ function parseStringArrayArray(value, path, issues) {
125
+ if (value === undefined)
126
+ return undefined;
127
+ if (!Array.isArray(value)) {
128
+ issues.push({ path, message: "must be an array of string arrays" });
129
+ return undefined;
130
+ }
131
+ if (value.length === 0) {
132
+ issues.push({
133
+ path,
134
+ message: "must include at least one alternative when present",
135
+ });
136
+ return undefined;
137
+ }
138
+ const parsed = [];
139
+ for (const [index, entry] of value.entries()) {
140
+ const entryPath = `${path}[${index}]`;
141
+ const alternative = parseStringArray(entry, entryPath, issues);
142
+ if (alternative === undefined)
143
+ continue;
144
+ if (alternative.length === 0) {
145
+ issues.push({
146
+ path: entryPath,
147
+ message: "must include at least one environment variable",
148
+ });
149
+ continue;
150
+ }
151
+ parsed.push(alternative);
152
+ }
153
+ return parsed;
154
+ }
155
+ function validateRequiredEnvMembers(requiredEnv, env, path, envPath, issues) {
156
+ const envSet = new Set(env ?? []);
157
+ for (const envVar of requiredEnv) {
158
+ if (!envSet.has(envVar)) {
159
+ issues.push({
160
+ path,
161
+ message: `${envVar} must also be listed in ${envPath}`,
162
+ });
163
+ }
164
+ }
165
+ }
112
166
  function parseAppPorts(value, issues) {
113
167
  if (value === undefined)
114
168
  return undefined;
@@ -191,16 +245,21 @@ function parseVariants(value, issues) {
191
245
  const env = parseStringArray(entry.env, `${entryPath}.env`, issues);
192
246
  const requiredEnv = parseStringArray(entry.requiredEnv, `${entryPath}.requiredEnv`, issues);
193
247
  if (requiredEnv !== undefined) {
194
- const envSet = new Set(env ?? []);
195
- for (const envVar of requiredEnv) {
196
- if (!envSet.has(envVar)) {
197
- issues.push({
198
- path: `${entryPath}.requiredEnv`,
199
- message: `${envVar} must also be listed in ${entryPath}.env`,
200
- });
201
- }
248
+ validateRequiredEnvMembers(requiredEnv, env, `${entryPath}.requiredEnv`, `${entryPath}.env`, issues);
249
+ }
250
+ const requiredEnvAlternatives = parseStringArrayArray(entry.requiredEnvAlternatives, `${entryPath}.requiredEnvAlternatives`, issues);
251
+ if (requiredEnvAlternatives !== undefined) {
252
+ for (const alternative of requiredEnvAlternatives) {
253
+ validateRequiredEnvMembers(alternative, env, `${entryPath}.requiredEnvAlternatives`, `${entryPath}.env`, issues);
202
254
  }
203
255
  }
256
+ if (entry.requiredEnv !== undefined &&
257
+ entry.requiredEnvAlternatives !== undefined) {
258
+ issues.push({
259
+ path: `${entryPath}.requiredEnvAlternatives`,
260
+ message: `must not be set alongside ${entryPath}.requiredEnv`,
261
+ });
262
+ }
204
263
  const requiredTables = parseStringArray(entry.requiredTables, `${entryPath}.requiredTables`, issues);
205
264
  const registration = parseRegistration(entry.registration, issues, `${entryPath}.registration`);
206
265
  if (name === undefined)
@@ -212,6 +271,9 @@ function parseVariants(value, issues) {
212
271
  variant.env = env;
213
272
  if (requiredEnv !== undefined)
214
273
  variant.requiredEnv = requiredEnv;
274
+ if (requiredEnvAlternatives !== undefined) {
275
+ variant.requiredEnvAlternatives = requiredEnvAlternatives;
276
+ }
215
277
  if (requiredTables !== undefined)
216
278
  variant.requiredTables = requiredTables;
217
279
  if (registration !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { HttpContractConfig } from "../contracts/index.js";
2
2
  import type { AnyPorts, BoundGate, GatePort, PolicyDefinition } from "../ports/index.js";
3
3
  import type { TraceContext } from "../tracing/index.js";
4
4
  import type { HttpRequestLike, MaybePromise } from "./http.js";
5
+ import type { TrustedRequestInfo } from "./trusted-proxy.js";
5
6
  /**
6
7
  * Arguments passed to the `context.request` factory after a route is matched.
7
8
  */
@@ -10,6 +11,12 @@ export type RequestContextArgs<Ports extends AnyPorts = AnyPorts> = {
10
11
  * Framework-neutral request.
11
12
  */
12
13
  req: HttpRequestLike;
14
+ /**
15
+ * Request metadata resolved from the server's explicit trusted-proxy policy.
16
+ * Forwarding headers never affect this value unless
17
+ * `createServer({ trustedProxy })` opts into them.
18
+ */
19
+ requestInfo: TrustedRequestInfo;
13
20
  /**
14
21
  * Final app ports, including ports contributed by providers.
15
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AAsKA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAqD;IAErD,MAAM,KAAK,GAAG,MAIR,CAAC;IAEP,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAKpC,QAAyD,EACzD,QAAqB;IAErB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAW,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,IAAc,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,gKAAgK,CACjK,CAAC;YACJ,CAAC;YACD,OAAQ,MAA6B,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AA6KA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAqD;IAErD,MAAM,KAAK,GAAG,MAIR,CAAC;IAEP,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAKpC,QAAyD,EACzD,QAAqB;IAErB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAW,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,IAAc,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,gKAAgK,CACjK,CAAC;YACJ,CAAC;YACD,OAAQ,MAA6B,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Logging hook utilities for @beignet/core/server
3
3
  */
4
4
  import type { HttpContractConfig } from "../../contracts/index.js";
5
+ import { type TrustedRequestInfo } from "../trusted-proxy.js";
5
6
  import type { HttpRequestLike, ServerHook } from "../types.js";
6
7
  /**
7
8
  * Minimal logger shape accepted by `createLoggingHooks(...)`.
@@ -42,6 +43,7 @@ export interface LoggingConfig<Ctx> {
42
43
  onRequestStart?: (args: {
43
44
  ctx?: Ctx;
44
45
  req: HttpRequestLike;
46
+ requestInfo: TrustedRequestInfo;
45
47
  contract?: HttpContractConfig;
46
48
  }) => void;
47
49
  /**
@@ -50,6 +52,7 @@ export interface LoggingConfig<Ctx> {
50
52
  onRequestEnd?: (args: {
51
53
  ctx?: Ctx;
52
54
  req: HttpRequestLike;
55
+ requestInfo: TrustedRequestInfo;
53
56
  res: {
54
57
  status: number;
55
58
  headers: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,GAAG;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,eAAe,CAAC;QACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,eAAe,CAAC;QACrB,GAAG,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QACzD,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KAAK,IAAI,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EACpC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GACzB,UAAU,CAAC,GAAG,CAAC,CAqFjB"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,GAAG;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,eAAe,CAAC;QACrB,WAAW,EAAE,kBAAkB,CAAC;QAChC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,eAAe,CAAC;QACrB,WAAW,EAAE,kBAAkB,CAAC;QAChC,GAAG,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QACzD,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KAAK,IAAI,CAAC;CACZ;AASD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EACpC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GACzB,UAAU,CAAC,GAAG,CAAC,CAoGjB"}
@@ -1,7 +1,11 @@
1
1
  /**
2
2
  * Logging hook utilities for @beignet/core/server
3
3
  */
4
+ import { resolveTrustedRequest, } from "../trusted-proxy.js";
4
5
  import { getRequestIdFromContext } from "./utils.js";
6
+ function loggingRequestInfo(req, requestInfo) {
7
+ return requestInfo ?? resolveTrustedRequest(req);
8
+ }
5
9
  /**
6
10
  * Create request logging hooks.
7
11
  *
@@ -12,10 +16,15 @@ export function createLoggingHooks(config) {
12
16
  const requestIdHeader = config.requestIdHeader;
13
17
  return {
14
18
  name: "logging",
15
- onRequest: ({ req, contract }) => {
19
+ onRequest: ({ req, requestInfo, contract }) => {
16
20
  if (config.onRequestStart) {
17
21
  try {
18
- config.onRequestStart({ req, contract, ctx: undefined });
22
+ config.onRequestStart({
23
+ req,
24
+ requestInfo: loggingRequestInfo(req, requestInfo),
25
+ contract,
26
+ ctx: undefined,
27
+ });
19
28
  }
20
29
  catch {
21
30
  // Ignore logging errors
@@ -25,8 +34,10 @@ export function createLoggingHooks(config) {
25
34
  if (!config.logger)
26
35
  return undefined;
27
36
  try {
28
- const url = new URL(req.url);
29
- config.logger.info({ method: req.method, url: url.pathname }, "Request start");
37
+ config.logger.info({
38
+ method: req.method,
39
+ url: loggingRequestInfo(req, requestInfo).url.pathname,
40
+ }, "Request start");
30
41
  }
31
42
  catch {
32
43
  // Ignore logging errors
@@ -50,13 +61,14 @@ export function createLoggingHooks(config) {
50
61
  },
51
62
  }
52
63
  : {}),
53
- afterSend: ({ ctx, req, response, durationMs, contract, error }) => {
64
+ afterSend: ({ ctx, req, requestInfo, response, durationMs, contract, error, }) => {
54
65
  const headers = response.headers ?? {};
55
66
  if (config.onRequestEnd) {
56
67
  try {
57
68
  config.onRequestEnd({
58
69
  ctx,
59
70
  req,
71
+ requestInfo: loggingRequestInfo(req, requestInfo),
60
72
  res: { status: response.status, headers },
61
73
  durationMs,
62
74
  contract,
@@ -71,11 +83,10 @@ export function createLoggingHooks(config) {
71
83
  if (!config.logger)
72
84
  return;
73
85
  try {
74
- const url = new URL(req.url);
75
86
  const requestId = getRequestIdFromContext(ctx);
76
87
  const payload = {
77
88
  method: req.method,
78
- url: url.pathname,
89
+ url: loggingRequestInfo(req, requestInfo).url.pathname,
79
90
  status: response.status,
80
91
  durationMs: Math.round(durationMs),
81
92
  ...(requestId !== undefined ? { requestId } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/server/hooks/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/server/hooks/logging.ts"],"names":[],"mappings":"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"}
@@ -63,16 +63,16 @@ export interface RateLimitOptions<Ctx> {
63
63
  * Resolve the client IP for `ip`-scoped limits.
64
64
  *
65
65
  * There is no default: when any contract declares an `ip`-scoped rate limit
66
- * and neither `trustedProxy.clientIp`, `ipSource`, nor a custom `earlyKey`
67
- * is configured, the hook fails at startup. Prefer `trustedProxy.clientIp`
68
- * for production proxy headers; keep `ipSource` for custom keying or
69
- * compatibility, or pass `"none"` to explicitly accept one shared
70
- * `ip:unknown` bucket for all clients.
66
+ * and neither the server-level `trustedProxy.clientIp`,
67
+ * this hook's `trustedProxy.clientIp`, `ipSource`, nor a custom `earlyKey`
68
+ * is configured, the hook fails at startup. Prefer the server-level policy
69
+ * for production proxy headers; keep these hook-local options for an
70
+ * intentional override or custom keying.
71
71
  */
72
72
  ipSource?: RateLimitIpSource;
73
73
  /**
74
- * Shared trusted-proxy policy used to resolve client IPs when `ipSource` is
75
- * not set.
74
+ * Hook-local trusted-proxy policy used to resolve client IPs when
75
+ * `ipSource` is not set. This overrides the server-level policy.
76
76
  *
77
77
  * Configure this only when the app is always behind a platform or reverse
78
78
  * proxy that strips or normalizes forwarding headers. For `ip`-scoped rate