@beignet/core 0.0.47 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
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
+
3
12
  ## 0.0.47
4
13
 
5
14
  ### 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
 
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/core",
3
- "version": "0.0.47",
3
+ "version": "0.0.48",
4
4
  "type": "module",
5
5
  "description": "Core framework primitives for Beignet",
6
6
  "exports": {
@@ -502,7 +502,11 @@ export function createProviderInstrumentation(
502
502
  function isEnabled(watcher = options.watcher): boolean {
503
503
  if (!port) return false;
504
504
  if (!watcher) return true;
505
- return port.isWatcherEnabled?.(watcher) ?? true;
505
+ try {
506
+ return port.isWatcherEnabled?.(watcher) ?? true;
507
+ } catch {
508
+ return false;
509
+ }
506
510
  }
507
511
 
508
512
  function record(event: ProviderInstrumentationEventInput): unknown {
@@ -530,7 +534,16 @@ export function createProviderInstrumentation(
530
534
  }
531
535
 
532
536
  try {
533
- return port.record(redacted);
537
+ const result = port.record(redacted);
538
+ if (
539
+ result !== null &&
540
+ (typeof result === "object" || typeof result === "function") &&
541
+ "then" in result &&
542
+ typeof result.then === "function"
543
+ ) {
544
+ return Promise.resolve(result).catch(() => undefined);
545
+ }
546
+ return result;
534
547
  } catch {
535
548
  return undefined;
536
549
  }
@@ -24,6 +24,7 @@ export type ProviderPackageVariantMetadata = {
24
24
  displayName?: string;
25
25
  env?: readonly string[];
26
26
  requiredEnv?: readonly string[];
27
+ requiredEnvAlternatives?: readonly (readonly string[])[];
27
28
  requiredTables?: readonly string[];
28
29
  registration?: ProviderPackageRegistrationMetadata;
29
30
  };
@@ -34,6 +35,7 @@ export type ProviderPackageMetadata = {
34
35
  appPorts?: readonly ProviderPackagePortMetadata[];
35
36
  env?: readonly string[];
36
37
  requiredEnv?: readonly string[];
38
+ requiredEnvAlternatives?: readonly (readonly string[])[];
37
39
  requiredTables?: readonly string[];
38
40
  registration?: ProviderPackageRegistrationMetadata;
39
41
  variants?: readonly ProviderPackageVariantMetadata[];
@@ -91,17 +93,43 @@ export function parseProviderPackageMetadata(
91
93
  );
92
94
  if (requiredEnv !== undefined) {
93
95
  metadata.requiredEnv = requiredEnv;
94
- const envSet = new Set(env ?? []);
95
- for (const envVar of requiredEnv) {
96
- if (!envSet.has(envVar)) {
97
- issues.push({
98
- path: "beignet.provider.requiredEnv",
99
- message: `${envVar} must also be listed in beignet.provider.env`,
100
- });
101
- }
96
+ validateRequiredEnvMembers(
97
+ requiredEnv,
98
+ env,
99
+ "beignet.provider.requiredEnv",
100
+ "beignet.provider.env",
101
+ issues,
102
+ );
103
+ }
104
+
105
+ const requiredEnvAlternatives = parseStringArrayArray(
106
+ input.requiredEnvAlternatives,
107
+ "beignet.provider.requiredEnvAlternatives",
108
+ issues,
109
+ );
110
+ if (requiredEnvAlternatives !== undefined) {
111
+ metadata.requiredEnvAlternatives = requiredEnvAlternatives;
112
+ for (const alternative of requiredEnvAlternatives) {
113
+ validateRequiredEnvMembers(
114
+ alternative,
115
+ env,
116
+ "beignet.provider.requiredEnvAlternatives",
117
+ "beignet.provider.env",
118
+ issues,
119
+ );
102
120
  }
103
121
  }
104
122
 
123
+ if (
124
+ input.requiredEnv !== undefined &&
125
+ input.requiredEnvAlternatives !== undefined
126
+ ) {
127
+ issues.push({
128
+ path: "beignet.provider.requiredEnvAlternatives",
129
+ message: "must not be set alongside beignet.provider.requiredEnv",
130
+ });
131
+ }
132
+
105
133
  const requiredTables = parseStringArray(
106
134
  input.requiredTables,
107
135
  "beignet.provider.requiredTables",
@@ -137,6 +165,13 @@ export function parseProviderPackageMetadata(
137
165
  "must not be set when beignet.provider.variants is present; declare requiredEnv on each variant instead",
138
166
  });
139
167
  }
168
+ if (input.requiredEnvAlternatives !== undefined) {
169
+ issues.push({
170
+ path: "beignet.provider.requiredEnvAlternatives",
171
+ message:
172
+ "must not be set when beignet.provider.variants is present; declare requiredEnvAlternatives on each variant instead",
173
+ });
174
+ }
140
175
  if (input.registration !== undefined) {
141
176
  issues.push({
142
177
  path: "beignet.provider.registration",
@@ -186,6 +221,60 @@ function parseStringArray(
186
221
  return parsed;
187
222
  }
188
223
 
224
+ function parseStringArrayArray(
225
+ value: unknown,
226
+ path: string,
227
+ issues: ProviderPackageMetadataIssue[],
228
+ ): string[][] | undefined {
229
+ if (value === undefined) return undefined;
230
+ if (!Array.isArray(value)) {
231
+ issues.push({ path, message: "must be an array of string arrays" });
232
+ return undefined;
233
+ }
234
+ if (value.length === 0) {
235
+ issues.push({
236
+ path,
237
+ message: "must include at least one alternative when present",
238
+ });
239
+ return undefined;
240
+ }
241
+
242
+ const parsed: string[][] = [];
243
+ for (const [index, entry] of value.entries()) {
244
+ const entryPath = `${path}[${index}]`;
245
+ const alternative = parseStringArray(entry, entryPath, issues);
246
+ if (alternative === undefined) continue;
247
+ if (alternative.length === 0) {
248
+ issues.push({
249
+ path: entryPath,
250
+ message: "must include at least one environment variable",
251
+ });
252
+ continue;
253
+ }
254
+ parsed.push(alternative);
255
+ }
256
+
257
+ return parsed;
258
+ }
259
+
260
+ function validateRequiredEnvMembers(
261
+ requiredEnv: readonly string[],
262
+ env: readonly string[] | undefined,
263
+ path: string,
264
+ envPath: string,
265
+ issues: ProviderPackageMetadataIssue[],
266
+ ): void {
267
+ const envSet = new Set(env ?? []);
268
+ for (const envVar of requiredEnv) {
269
+ if (!envSet.has(envVar)) {
270
+ issues.push({
271
+ path,
272
+ message: `${envVar} must also be listed in ${envPath}`,
273
+ });
274
+ }
275
+ }
276
+ }
277
+
189
278
  function parseAppPorts(
190
279
  value: unknown,
191
280
  issues: ProviderPackageMetadataIssue[],
@@ -280,16 +369,40 @@ function parseVariants(
280
369
  issues,
281
370
  );
282
371
  if (requiredEnv !== undefined) {
283
- const envSet = new Set(env ?? []);
284
- for (const envVar of requiredEnv) {
285
- if (!envSet.has(envVar)) {
286
- issues.push({
287
- path: `${entryPath}.requiredEnv`,
288
- message: `${envVar} must also be listed in ${entryPath}.env`,
289
- });
290
- }
372
+ validateRequiredEnvMembers(
373
+ requiredEnv,
374
+ env,
375
+ `${entryPath}.requiredEnv`,
376
+ `${entryPath}.env`,
377
+ issues,
378
+ );
379
+ }
380
+
381
+ const requiredEnvAlternatives = parseStringArrayArray(
382
+ entry.requiredEnvAlternatives,
383
+ `${entryPath}.requiredEnvAlternatives`,
384
+ issues,
385
+ );
386
+ if (requiredEnvAlternatives !== undefined) {
387
+ for (const alternative of requiredEnvAlternatives) {
388
+ validateRequiredEnvMembers(
389
+ alternative,
390
+ env,
391
+ `${entryPath}.requiredEnvAlternatives`,
392
+ `${entryPath}.env`,
393
+ issues,
394
+ );
291
395
  }
292
396
  }
397
+ if (
398
+ entry.requiredEnv !== undefined &&
399
+ entry.requiredEnvAlternatives !== undefined
400
+ ) {
401
+ issues.push({
402
+ path: `${entryPath}.requiredEnvAlternatives`,
403
+ message: `must not be set alongside ${entryPath}.requiredEnv`,
404
+ });
405
+ }
293
406
 
294
407
  const requiredTables = parseStringArray(
295
408
  entry.requiredTables,
@@ -308,6 +421,9 @@ function parseVariants(
308
421
  if (displayName !== undefined) variant.displayName = displayName;
309
422
  if (env !== undefined) variant.env = env;
310
423
  if (requiredEnv !== undefined) variant.requiredEnv = requiredEnv;
424
+ if (requiredEnvAlternatives !== undefined) {
425
+ variant.requiredEnvAlternatives = requiredEnvAlternatives;
426
+ }
311
427
  if (requiredTables !== undefined) variant.requiredTables = requiredTables;
312
428
  if (registration !== undefined) variant.registration = registration;
313
429
  parsed.push(variant);