@byok-sdk/core 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1277,6 +1277,15 @@ async function hpkeOpenBase(input) {
1277
1277
  return hpkeAeadOpen(schedule, 0, input.aad, input.ciphertext);
1278
1278
  }
1279
1279
 
1280
+ // src/total-parse.ts
1281
+ function safeParseTotal(schema, value) {
1282
+ try {
1283
+ return schema.safeParse(value);
1284
+ } catch {
1285
+ return { success: false };
1286
+ }
1287
+ }
1288
+
1280
1289
  // src/sealed-provider-secret.ts
1281
1290
  var PROVIDER_SECRET_HPKE_SUITE = "hpke-base.dhkem-p256-hkdf-sha256.hkdf-sha256.aes-128-gcm";
1282
1291
  var PROVIDER_SECRET_HPKE_INFO = "byok-sdk.provider-secret.v1";
@@ -1363,7 +1372,7 @@ var SealingPublicJwkSchema = z.strictObject({
1363
1372
  });
1364
1373
  var SealingKeyIdSchema = z.string().regex(new RegExp(`^[A-Za-z0-9_-]{${SEALING_KEY_ID_LENGTH}}$`));
1365
1374
  function parseSealingPublicJwk(input) {
1366
- const result = SealingPublicJwkSchema.safeParse(input);
1375
+ const result = safeParseTotal(SealingPublicJwkSchema, input);
1367
1376
  if (!result.success) {
1368
1377
  throw new ByokCoreError("sealed_secret_invalid", "Sealing public key must be a strict P-256 EC public JWK");
1369
1378
  }
@@ -1389,7 +1398,7 @@ var SealingKeyClaimV1Schema = z.strictObject({
1389
1398
  publicJwk: SealingPublicJwkSchema
1390
1399
  });
1391
1400
  function sealingKeyClaimCanonicalBytes(claim) {
1392
- const result = SealingKeyClaimV1Schema.safeParse(claim);
1401
+ const result = safeParseTotal(SealingKeyClaimV1Schema, claim);
1393
1402
  if (!result.success) {
1394
1403
  throw new ByokCoreError("sealed_secret_invalid", "Sealing key claim is invalid");
1395
1404
  }
@@ -1486,11 +1495,11 @@ var ProviderProvisioningRequestV1Schema = z.strictObject({
1486
1495
  }
1487
1496
  });
1488
1497
  function parseProviderProvisioningRequest(input) {
1489
- const result = ProviderProvisioningRequestV1Schema.safeParse(input);
1498
+ const result = safeParseTotal(ProviderProvisioningRequestV1Schema, input);
1490
1499
  if (!result.success) {
1491
1500
  throw new ByokCoreError(
1492
1501
  "provider_provisioning_request_invalid",
1493
- `Invalid provider provisioning request: ${result.error.issues.map((issue) => `${issue.path.join(".") || "<root>"}: ${issue.message}`).join("; ")}`
1502
+ `Invalid provider provisioning request: ${(result.error?.issues ?? [{ path: [], message: "is not readable" }]).map((issue) => `${issue.path.join(".") || "<root>"}: ${issue.message}`).join("; ")}`
1494
1503
  );
1495
1504
  }
1496
1505
  return result.data;
@@ -1499,15 +1508,15 @@ function configJson(config) {
1499
1508
  return config;
1500
1509
  }
1501
1510
  async function providerProvisioningConfigDigest(config) {
1502
- const result = ProviderProvisioningConfigV1Schema.safeParse(config);
1511
+ const result = safeParseTotal(ProviderProvisioningConfigV1Schema, config);
1503
1512
  if (!result.success) {
1504
1513
  throw new ByokCoreError("provider_provisioning_request_invalid", "Provider provisioning config is invalid");
1505
1514
  }
1506
1515
  return contentDigest(configJson(result.data));
1507
1516
  }
1508
1517
  function providerSecretAadBytes(header, keyId) {
1509
- const parsed = ProviderProvisioningHeaderV1Schema.safeParse(header);
1510
- if (!parsed.success || !SealingKeyIdSchema.safeParse(keyId).success) {
1518
+ const parsed = safeParseTotal(ProviderProvisioningHeaderV1Schema, header);
1519
+ if (!parsed.success || !safeParseTotal(SealingKeyIdSchema, keyId).success) {
1511
1520
  throw new ByokCoreError("provider_provisioning_request_invalid", "Provider provisioning AAD input is invalid");
1512
1521
  }
1513
1522
  const value = parsed.data;
@@ -1575,12 +1584,12 @@ function unpadProviderSecret(padded) {
1575
1584
  }
1576
1585
  var INFO_BYTES = () => new TextEncoder().encode(PROVIDER_SECRET_HPKE_INFO);
1577
1586
  async function sealProviderProvisioningRequest(input) {
1578
- const configResult = ProviderProvisioningConfigV1Schema.safeParse(input.config);
1587
+ const configResult = safeParseTotal(ProviderProvisioningConfigV1Schema, input.config);
1579
1588
  if (!configResult.success) {
1580
1589
  throw new ByokCoreError("provider_provisioning_request_invalid", "Provider provisioning config is invalid");
1581
1590
  }
1582
1591
  const config = configResult.data;
1583
- const headerResult = ProviderProvisioningHeaderV1Schema.safeParse({
1592
+ const headerResult = safeParseTotal(ProviderProvisioningHeaderV1Schema, {
1584
1593
  ...input.header,
1585
1594
  configDigest: await providerProvisioningConfigDigest(config)
1586
1595
  });